Huawei Launches the Multi-Port NG-Fast Prototype to achieve 5Gbit/s on copper lines

ICYDK: At the Broadband World Forum (BBWF), Huawei showcased the copper-based NG-Fast prototype which delivers both upstream and downstream rates of 5 Gbit/s. It is the first product in the industry to provide the total bi-directional bandwidth of up to 10 Gbit/s, and will enable global operators to further excavate the potential of copper lines. http://bit.ly/2jEwVxN #Huawei #BigData #AI

Ride Hard Breathe Easy Concludes in San Francisco

On Saturday, October 14, I completed my bike ride from Newtown Square to the Golden Gate Bridge. Family and friends were there to greet me, and this amazing journey was complete!

I officially began Ride Hard Breathe Easy on August 24, but the idea of doing something for all lung cancer patients started in December of 2011. Mom was dying of lung cancer, and our family knew she only had one or two more weeks with us. I promised Mom I would do something in her honor, and for all lung cancer patents, and that something would become this bike ride.

Mom was always amazing, loving and caring for her husband of 51 years, their six “wonderful kids” (her words) and their 19 grandchildren every minute of every day. She asked her kids to be pallbearers, gave her jewelry to her daughters and grandchildren, and joked with Dad about “his next wife.” Even while dying, Mom continued to be selfless, kept her sense of humor, and Mom was doing what she could to ease our pain.  That simply was Mom – always loving, always caring and always protecting.

Our family had learned the facts about lung cancer and we committed to honoring Mom and helping all lung cancer patients. Lung cancer is the No. 1 cancer killer in the world, and in the United States it is the top killer of men and women in every state. Even worse, the five-year survival rate of lung cancer patients is 19%. So, we started “Kathleen’s Krew” and have raised over $85,000 since 2011 for the Bonnie J. Addario Lung Cancer Foundation.

But I yearned to do something bigger for Mom and after doing a 67-mile charity bike ride in 2016, I decided I could do a much longer ride. And this ride would focus on raising money and awareness for lung cancer.

For me to complete this ride, I knew I needed plenty of help. Mom had a saying that “many hands make light work.” Indeed, many hands were helped from the very beginning and throughout the entire ride. Over 30 SAP colleagues and former SAP colleagues were part of a team of 100 people that planned every element of the ride, including the route, the bike, the videos, and much more. There was also a dedicated SAP team that built a site that tracked my progress, biking statistics, and connected to the daily blog and Twitter (@ride4lungs).

There were more than 150 people at the SAP office in Newtown Square for the start of the ride, and three SAP colleagues joined me for the initial day of riding. Ride Hard Breathe Easy officially started, and over the more than seven weeks it took, we would cover 3,553 miles, climb over 136,000 feet, and pedal over 1.1 million times. There were some very tough times going up hills in Pennsylvania, Missouri, Colorado, Utah, and Nevada, and yet I can honestly say that every day was great.

Different drivers came in for three to six days to ride the van, support me, and to simply care for me as I made the way west. Many hands do indeed make light work and we had loads of fun. We saw amazing scenery — especially in Colorado, Utah and California — and shared laughs every single day. I thought of Mom and Dad daily, felt their presence and magic, and I am convinced they made sure the weather cooperated since I rode my bike for over 252 hours, and we had less than six hours of rain.

We also experienced kindness in every state, from people donating to the cause, a bike shop doing a tune-up of the bike for free, and total strangers cheering me when they heard about the ride. Everyone we met was impacted by cancer, many of them by lung cancer, and they were very grateful for what we were doing.

Growing up, Mom and Dad stressed the importance of family, and the toughest part of these 52 days was being away from my wife, my son, and everyone in the family. Our family is very close, and they frequently sent texts, cards, and even cookies. Now I am excited to be home, to spend time with family and friends, and I am deeply proud that we made a difference for lung cancer patients.

I am very grateful to SAP for giving me a chance to make the world a better place, and I ask that you consider being a part of Ride Hard Breathe Easy by donating at www.rhbe.org. My family, friends, and I took care of the costs for the ride, so the money raised goes to two established organizations — Bonnie J. Addario Lung Cancer Foundation and Lung Cancer Alliance — so they can help patients and their families, research this disease and work to erase the stigma associated with lung cancer.

Thank you, SAP! And now, it’s time for me to get back to work. http://bit.ly/2jFLQHK #SAP #SAPCloud #AI

ABAP FM Create Material Price Condition With Reference to Another Material (RV_CONDITION_COPY)

Sometimes you may need to copy (create) price conditions from one material to another. Below you can find the Function Module doing this. The FM takes the reference material price condition and create a new condition for the new material.

Import Parameters:

P_MATCFG
TYPE
MARA-MATNR
Reference Material

F_MATNR
TYPE
MARA-MATNR
The Material to Create Condition

P_WERKS
TYPE
WERKS-WERKS
Plant

P_KSCHL
TYPE
T685-KSCHL
Condition Type

P_PLTYP
TYPE
T189-PLTYP
Price List

We will be using

* PR00 and PR01 as KSCHL (Condition Type)
* A699 (Condition Table for Pricing A699) table
* A650 (Condition Table for Pricing A650) table

I create other FM’s to get the reference material price and dates. I also included this FM’s below.

Here is the source code:

ZMA_F_CREATE_PRICE_COND_WR function ZMA_F_CREATE_PRICE_COND_WR. *“———————————————————————- *”*“Local Interface: *” IMPORTING *“ REFERENCE(P_MATCFG) TYPE MARA-MATNR *” REFERENCE(F_MATNR) TYPE MARA-MATNR *“ REFERENCE(P_WERKS) TYPE WERKS-WERKS *” REFERENCE(P_KSCHL) TYPE T685-KSCHL *“ REFERENCE(P_PLTYP) TYPE T189-PLTYP *”———————————————————————- data: cr like table of komv with header line, “ copy_records nr, key_fields like table of komg with header line, wa_komk like komk, komk like table of komk, wa_komp like komp, komp like table of komp, lv_datab like sy-datum, lv_datbi like sy-datum. cr-mandt = sy-mandt. cr-kappl = ‘V’. cr-kschl = p_kschl. data: lv_price type konp-kbetr. if p_kschl = ‘PR00’. clear: lv_price. call function ‘ZMA_F_GET_PRICE_BYMATNR’ exporting i_kappl = ‘V’ i_kschl = p_kschl i_pltyp = p_pltyp i_matnr = p_matcfg i_date = sy-datum importing e_kbetr = lv_price. elseif p_kschl = ‘PR01’. clear: lv_price. ” Is PR01 condition exist for this material? if p_pltyp = ’01’. “ Does not exist call function ‘ZMA_F_GET_PRICE_BYMATNR_PR01’ exporting i_kappl = ‘V’ i_kschl = p_kschl i_matnr = p_matcfg i_date = sy-datum importing e_kbetr = lv_price. else. exit. endif. endif. check lv_price > 0. if p_kschl = ‘PR00’. call function ‘ZMA_F_GET_PRICE_BYMATNR_DATES’ exporting i_kappl = cr-kappl i_kschl = cr-kschl i_pltyp = p_pltyp i_matnr = p_matcfg i_date = sy-datum importing e_kbetr = cr-kbetr e_konwa = cr-waers e_datab = lv_datab e_datbi = lv_datbi. elseif p_kschl = ‘PR01’. call function ‘ZMA_F_GET_PRICE_BYMATNR_DATES2’ exporting i_kappl = cr-kappl i_kschl = cr-kschl i_pltyp = p_pltyp i_matnr = p_matcfg i_date = sy-datum importing e_kbetr = cr-kbetr e_konwa = cr-waers e_datab = lv_datab e_datbi = lv_datbi. endif. cr-kpein = ‘1’. cr-kmein = ‘ST’. key_fields-mandt = sy-mandt. key_fields-werks = p_werks. key_fields-matnr = f_matnr. key_fields-pltyp = p_pltyp. key_fields-pltyp_d = p_pltyp. append cr. data wa_pispr like table of pispr with header line. wa_pispr-matnr = p_matcfg. wa_pispr-werks = p_werks. wa_pispr-waerk = cr-waers. append wa_pispr. call function ‘SPR_KOMK_KOMP_FILL’ exporting pi_i_spr = wa_pispr importing pe_i_komk = wa_komk pe_i_komp = wa_komp. wa_komk-mandt = sy-mandt. wa_komk-pltyp = p_pltyp. wa_komp-matnr = f_matnr. wa_komp-pmatn = f_matnr. wa_komp-pltyp_p = p_pltyp. select single mtart from mara into wa_komp-mtart where matnr = f_matnr. data: condition_table like t681-kotabnr. if p_kschl = ‘PR00’. condition_table = ‘699’. elseif p_kschl = ‘PR01’. condition_table = ‘650’. endif. call function ‘RV_CONDITION_COPY’ exporting application = ‘V’ condition_table = condition_table condition_type = p_kschl date_from = lv_datab date_to = lv_datbi * enqueue = ‘X’ i_komk = wa_komk i_komp = wa_komp key_fields = key_fields maintain_mode = ‘A’ no_authority_check = ‘X’ keep_old_records = ‘X’ overlap_confirmed = ‘X’ importing e_komk = wa_komk e_komp = wa_komp new_record = nr tables copy_records = cr exceptions enqueue_on_record = 01 invalid_application = 02 invalid_condition_number = 03 invalid_condition_type = 04 no_authority_ekorg = 05 no_authority_kschl = 06 no_authority_vkorg = 07 no_selection = 08 table_not_valid = 09. call function ‘RV_CONDITION_SAVE’. commit work. call function ‘RV_CONDITION_RESET’. endfunction.

ZMA_F_GET_PRICE_BYMATNR

Import Parameters:

I_KAPPL
TYPE
KONH-KAPPL
Application

I_KSCHL
TYPE
KONH-KSCHL
Condition type

I_PLTYP
TYPE
A699-PLTYP
Price list type

I_MATNR
TYPE
MARA-MATNR
Material Number

I_DATE
TYPE
KONH-DATAB
Valid-From Date

Export Parameters:

E_KBETR
TYPE
KONP-KBETR
Rate (condition amount or percentage) where no scale exists

E_KONWA
TYPE
KONP-KONWA
Rate unit (currency or percentage)

Source Code: FUNCTION ZMA_F_GET_PRICE_BYMATNR. *”———————————————————————- *“*"Local Interface: *” IMPORTING *“ REFERENCE(I_KAPPL) TYPE KONH-KAPPL *” REFERENCE(I_KSCHL) TYPE KONH-KSCHL *“ REFERENCE(I_PLTYP) TYPE A699-PLTYP *” REFERENCE(I_MATNR) TYPE MARA-MATNR *“ REFERENCE(I_DATE) TYPE KONH-DATAB *” EXPORTING *“ REFERENCE(E_KBETR) TYPE KONP-KBETR *” REFERENCE(E_KONWA) TYPE KONP-KONWA *“———————————————————————- TYPES: BEGIN OF ty_itab, knumh LIKE konp-knumh, kappl LIKE konp-kappl, END OF ty_itab. DATA: st_itab TYPE ty_itab. TYPES: BEGIN OF ty_itab_konp, kbetr LIKE konp-kbetr, konwa LIKE konp-konwa, END OF ty_itab_konp. DATA: st_itab_konp TYPE ty_itab_konp. TYPES: tt_itab TYPE STANDARD TABLE OF ty_itab. DATA: itab TYPE tt_itab. SELECT SINGLE a~knumh a~kappl FROM A699 AS a INTO st_itab WHERE a~kappl = I_KAPPL AND a~kschl = I_KSCHL AND a~pltyp = I_PLTYP AND a~matnr = I_MATNR AND a~datab = I_DATE. SELECT SINGLE p~kbetr p~konwa FROM konp AS p INTO st_itab_konp WHERE p~knumh = st_itab-knumh AND p~kappl = st_itab-kappl. IF sy-subrc = 0. e_kbetr = st_itab_konp-kbetr. e_konwa = st_itab_konp-konwa. ENDIF. ENDFUNCTION.

ZMA_F_GET_PRICE_BYMATNR_PR01

Import Parameters:

I_KAPPL
TYPE
KONH-KAPPL
Application

I_KSCHL
TYPE
KONH-KSCHL
Condition type

I_MATNR
TYPE
MARA-MATNR
Material Number

I_DATE
TYPE
KONH-DATAB
Valid-From Date

Export Parameters:

E_KBETR
TYPE
KONP-KBETR
Rate (condition amount or percentage) where no scale exists

E_KONWA
TYPE
KONP-KONWA
Rate unit (currency or percentage)

FUNCTION ZMA_F_GET_PRICE_BYMATNR_PR01. *”———————————————————————- *“*"Local Interface: *” IMPORTING *“ REFERENCE(I_KAPPL) TYPE KONH-KAPPL *” REFERENCE(I_KSCHL) TYPE KONH-KSCHL *“ REFERENCE(I_MATNR) TYPE MARA-MATNR *” REFERENCE(I_DATE) TYPE KONH-DATAB *“ EXPORTING *” REFERENCE(E_KBETR) TYPE KONP-KBETR *“ REFERENCE(E_KONWA) TYPE KONP-KONWA *”———————————————————————- TYPES: BEGIN OF ty_itab, knumh LIKE konp-knumh, kappl LIKE konp-kappl, END OF ty_itab. DATA: st_itab TYPE ty_itab. TYPES: BEGIN OF ty_itab_konp, kbetr LIKE konp-kbetr, konwa LIKE konp-konwa, END OF ty_itab_konp. DATA: st_itab_konp TYPE ty_itab_konp. TYPES: tt_itab TYPE STANDARD TABLE OF ty_itab. DATA: itab TYPE tt_itab. SELECT SINGLE a~knumh a~kappl FROM A650 AS a INTO st_itab WHERE a~kappl = I_KAPPL AND a~kschl = I_KSCHL AND a~matnr = I_MATNR AND a~datab = I_DATE. SELECT SINGLE p~kbetr p~konwa FROM konp AS p INTO st_itab_konp WHERE p~knumh = st_itab-knumh AND p~kappl = st_itab-kappl. IF sy-subrc = 0. e_kbetr = st_itab_konp-kbetr. e_konwa = st_itab_konp-konwa. ENDIF. ENDFUNCTION.

ZMA_F_GET_PRICE_BYMATNR_DATES

Import Parameters:

I_KAPPL
TYPE
KONH-KAPPL
Application

I_KSCHL
TYPE
KONH-KSCHL
Condition type

I_PLTYP
TYPE
A699-PLTYP
Price list type

I_MATNR
TYPE
MARA-MATNR
Material Number

I_DATE
TYPE
KONH-DATAB
Valid-From Date

Export Parameters:

E_KBETR
TYPE
KONP-KBETR
Rate (condition amount or percentage) where no scale exists

E_KONWA
TYPE
KONP-KONWA
Rate unit (currency or percentage)

E_DATAB
TYPE
SY-DATUM
Valid-From Date

E_DATBI
TYPE
SY-DATUM
Valid-To Date

FUNCTION zma_f_get_price_bymatnr_dates. *“———————————————————————- *”*“Local Interface: *” IMPORTING *“ REFERENCE(I_KAPPL) TYPE KONH-KAPPL *” REFERENCE(I_KSCHL) TYPE KONH-KSCHL *“ REFERENCE(I_PLTYP) TYPE A699-PLTYP *” REFERENCE(I_MATNR) TYPE MARA-MATNR *“ REFERENCE(I_DATE) TYPE KONH-DATAB *” EXPORTING *“ REFERENCE(E_KBETR) TYPE KONP-KBETR *” REFERENCE(E_KONWA) TYPE KONP-KONWA *“ REFERENCE(E_DATAB) TYPE SY-DATUM *” REFERENCE(E_DATBI) TYPE SY-DATUM *“———————————————————————- TYPES: BEGIN OF ty_itab, knumh LIKE konp-knumh, kappl LIKE konp-kappl, datab LIKE sy-datum, datbi LIKE sy-datum, END OF ty_itab. DATA: st_itab TYPE ty_itab. TYPES: BEGIN OF ty_itab_konp, kbetr LIKE konp-kbetr, konwa LIKE konp-konwa, END OF ty_itab_konp. DATA: st_itab_konp TYPE ty_itab_konp. TYPES: tt_itab TYPE STANDARD TABLE OF ty_itab. DATA: itab TYPE tt_itab. SELECT SINGLE a~knumh a~kappl a~datab a~datbi FROM a699 AS a INTO st_itab WHERE a~kappl = i_kappl AND a~kschl = i_kschl AND a~pltyp = i_pltyp AND a~matnr = i_matnr AND a~datab = i_date. SELECT SINGLE p~kbetr p~konwa FROM konp AS p INTO st_itab_konp WHERE p~knumh = st_itab-knumh AND p~kappl = st_itab-kappl. IF sy-subrc = 0. e_kbetr = st_itab_konp-kbetr. e_konwa = st_itab_konp-konwa. e_datab = st_itab-datab. e_datbi = st_itab-datbi. ENDIF. ENDFUNCTION.

ZMA_F_GET_PRICE_BYMATNR_DATES2

Import Parameters:

I_KAPPL
TYPE
KONH-KAPPL
Application

I_KSCHL
TYPE
KONH-KSCHL
Condition type

I_PLTYP
TYPE
A699-PLTYP
Price list type

I_MATNR
TYPE
MARA-MATNR
Material Number

I_DATE
TYPE
KONH-DATAB
Valid-From Date

Export Parameters:

E_KBETR
TYPE
KONP-KBETR
Rate (condition amount or percentage) where no scale exists

E_KONWA
TYPE
KONP-KONWA
Rate unit (currency or percentage)

E_DATAB
TYPE
SY-DATUM
Valid-From Date

E_DATBI
TYPE
SY-DATUM
Valid-To Date

FUNCTION ZMA_F_GET_PRICE_BYMATNR_DATES2. *”———————————————————————- *“*"Local Interface: *” IMPORTING *“ REFERENCE(I_KAPPL) TYPE KONH-KAPPL *” REFERENCE(I_KSCHL) TYPE KONH-KSCHL *“ REFERENCE(I_PLTYP) TYPE A699-PLTYP *” REFERENCE(I_MATNR) TYPE MARA-MATNR *“ REFERENCE(I_DATE) TYPE KONH-DATAB *” EXPORTING *“ REFERENCE(E_KBETR) TYPE KONP-KBETR *” REFERENCE(E_KONWA) TYPE KONP-KONWA *“ REFERENCE(E_DATAB) TYPE SY-DATUM *” REFERENCE(E_DATBI) TYPE SY-DATUM *“———————————————————————- TYPES: BEGIN OF ty_itab, knumh LIKE konp-knumh, kappl LIKE konp-kappl, datab LIKE sy-datum, datbi LIKE sy-datum, END OF ty_itab. DATA: st_itab TYPE ty_itab. TYPES: BEGIN OF ty_itab_konp, kbetr LIKE konp-kbetr, konwa LIKE konp-konwa, END OF ty_itab_konp. DATA: st_itab_konp TYPE ty_itab_konp. TYPES: tt_itab TYPE STANDARD TABLE OF ty_itab. DATA: itab TYPE tt_itab. SELECT SINGLE a~knumh a~kappl a~datab a~datbi FROM a650 AS a INTO st_itab WHERE a~kappl = i_kappl AND a~kschl = i_kschl "AND a~pltyp = i_pltyp AND a~matnr = i_matnr AND a~datab = i_date. SELECT SINGLE p~kbetr p~konwa FROM konp AS p INTO st_itab_konp WHERE p~knumh = st_itab-knumh AND p~kappl = st_itab-kappl. IF sy-subrc = 0. e_kbetr = st_itab_konp-kbetr. e_konwa = st_itab_konp-konwa. e_datab = st_itab-datab. e_datbi = st_itab-datbi. ENDIF. ENDFUNCTION.

I hope it can help you in your projects. If you have any questions or comments, please do not hesitate to write http://bit.ly/2jEq47u #SAP #SAPCloud #AI