diff --git a/.abapgit.xml b/.abapgit.xml new file mode 100644 index 0000000..1e91166 --- /dev/null +++ b/.abapgit.xml @@ -0,0 +1,20 @@ + + + + + E + /src/ + FULL + + /.gitignore + /LICENSE + /README.md + /package.json + /.travis.yml + /.gitlab-ci.yml + /abaplint.json + /azure-pipelines.yml + + + + diff --git a/src/c554eb5ef0901725ac6c0d6b8f601aht.sush.xml b/src/c554eb5ef0901725ac6c0d6b8f601aht.sush.xml new file mode 100644 index 0000000..1cdf2cd --- /dev/null +++ b/src/c554eb5ef0901725ac6c0d6b8f601aht.sush.xml @@ -0,0 +1,38 @@ + + + + + + C554EB5EF0901725AC6C0D6B8F601A + HT + R3TR G4BA ZHS_UI_SIMPLE_PARTNER_O4 + ZHS_SOFTWAREHEROES + 5 + + + + C554EB5EF0901725AC6C0D6B8F601A + HT + S_START + X + + + + + S_START + Start Authorization Check for TADIR Objects + AAAB + X + S_PROFGEN_START_AUTH + BC-SEC-AUT-CHK + Check + Check + No + 3 + Okay + @08@ + + + + + diff --git a/src/package.devc.xml b/src/package.devc.xml new file mode 100644 index 0000000..b99814c --- /dev/null +++ b/src/package.devc.xml @@ -0,0 +1,12 @@ + + + + + + Software Heroes + E + E + + + + diff --git a/src/zbp_hs_i_rappartner.clas.abap b/src/zbp_hs_i_rappartner.clas.abap new file mode 100644 index 0000000..2bed4bf --- /dev/null +++ b/src/zbp_hs_i_rappartner.clas.abap @@ -0,0 +1,15 @@ +class ZBP_HS_I_RAPPARTNER definition + public + abstract + final + create public . + +public section. +protected section. +private section. +ENDCLASS. + + + +CLASS ZBP_HS_I_RAPPARTNER IMPLEMENTATION. +ENDCLASS. diff --git a/src/zbp_hs_i_rappartner.clas.xml b/src/zbp_hs_i_rappartner.clas.xml new file mode 100644 index 0000000..4a1b746 --- /dev/null +++ b/src/zbp_hs_i_rappartner.clas.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/zcl_hs_demo_dummy_data.clas.abap b/src/zcl_hs_demo_dummy_data.clas.abap new file mode 100644 index 0000000..79a1077 --- /dev/null +++ b/src/zcl_hs_demo_dummy_data.clas.abap @@ -0,0 +1,228 @@ +CLASS zcl_hs_demo_dummy_data DEFINITION + PUBLIC + FINAL + CREATE PUBLIC . + + PUBLIC SECTION. + + INTERFACES if_oo_adt_classrun . + + CONSTANTS: + c_error TYPE zhs_dmo_position-price VALUE '37707', + c_number_of_invoices TYPE i VALUE 300, + c_days_back_from_today TYPE i VALUE 365, + c_max_number_of_positions TYPE i VALUE 3, + c_max_quantity_per_position TYPE i VALUE 5. + PROTECTED SECTION. + PRIVATE SECTION. + DATA: + mt_partner TYPE STANDARD TABLE OF zhs_dmo_partner, + mt_material TYPE STANDARD TABLE OF zhs_dmo_material, + mt_discount TYPE STANDARD TABLE OF zhs_dmo_discount, + mt_head TYPE STANDARD TABLE OF zhs_dmo_invoice, + mt_position TYPE STANDARD TABLE OF zhs_dmo_position, + + mo_random_partner TYPE REF TO zcl_hs_demo_random, + mo_random_date TYPE REF TO zcl_hs_demo_random, + mo_random_position TYPE REF TO zcl_hs_demo_random, + mo_random_material TYPE REF TO zcl_hs_demo_random, + mo_random_quantity TYPE REF TO zcl_hs_demo_random. + + METHODS: + create_partner, + + create_material, + + create_discount, + + create_invoice + IMPORTING + id_count TYPE i, + + create_head + RETURNING + VALUE(rs_result) TYPE zhs_dmo_invoice, + + create_positions + IMPORTING + is_head TYPE zhs_dmo_invoice. +ENDCLASS. + + + +CLASS zcl_hs_demo_dummy_data IMPLEMENTATION. + + + METHOD if_oo_adt_classrun~main. + + create_partner( ). + out->write( |Partner: { lines( mt_partner ) }| ). + + create_material( ). + out->write( |Material: { lines( mt_material ) }| ). + + create_discount( ). + out->write( |Discount: { lines( mt_discount ) }| ). + + create_invoice( c_number_of_invoices ). + out->write( |Invoice: { lines( mt_head ) }| ). + out->write( |Position: { lines( mt_position ) }| ). + + ENDMETHOD. + + METHOD create_discount. + mt_discount = VALUE #( + ( partner = '1000000000' material = 'F0003' discount = '10.00' ) + ( partner = '1000000001' material = 'F0001' discount = '15.00' ) + ( partner = '1000000001' material = 'H0002' discount = '3.50' ) + ( partner = '1000000006' material = 'R0001' discount = '7.50' ) + ). + + DELETE FROM zhs_dmo_discount. + INSERT zhs_dmo_discount FROM TABLE @mt_discount. + ENDMETHOD. + + METHOD create_head. + DATA: + ld_document TYPE n LENGTH 8 VALUE 30000000. + + IF mo_random_partner IS INITIAL. + mo_random_partner = NEW #( id_min = 1 id_max = lines( mt_partner ) ). + mo_random_date = NEW #( id_min = 1 id_max = c_days_back_from_today ). + ENDIF. + + rs_result = VALUE #( + document = ld_document + lines( mt_head ) + doc_date = CONV d( cl_abap_context_info=>get_system_date( ) - mo_random_date->rand( ) ) + doc_time = cl_abap_context_info=>get_system_time( ) + partner = mt_partner[ mo_random_partner->rand( ) ]-partner + ). + + INSERT rs_result INTO TABLE mt_head. + ENDMETHOD. + + METHOD create_invoice. + DO id_count TIMES. + DATA(ls_head) = create_head( ). + create_positions( ls_head ). + ENDDO. + + DELETE FROM zhs_dmo_invoice. + INSERT zhs_dmo_invoice FROM TABLE @mt_head. + DELETE FROM zhs_dmo_position. + INSERT zhs_dmo_position FROM TABLE @mt_position. + ENDMETHOD. + + METHOD create_material. + mt_material = VALUE #( + ( material = 'F0001' + name = 'Peanuts' + description = 'Roasted Peanuts from US' + stock = '900' + stock_unit = 'ST' + price_per_unit = '2.50' + currency = 'USD' ) + ( material = 'F0002' + name = 'Rice' + description = 'Big bag rice from china' + stock = '120' + stock_unit = 'BAG' + price_per_unit = '12.00' + currency = 'USD' ) + ( material = 'F0003' + name = 'Eggs' + description = 'Eggs from happy german chickens' + stock = '550' + stock_unit = 'PAK' + price_per_unit = '3.15' + currency = 'EUR' ) + ( material = 'H0001' + name = 'USB Stick 128 GB' + description = 'USB Stick with security features' + stock = '30' + stock_unit = 'ST' + price_per_unit = '49.99' + currency = 'EUR' ) + ( material = 'H0002' + name = 'OLED Display 34"' + description = 'Big and wide display with HDMI and dsiplay port' + stock = '18' + stock_unit = 'ST' + price_per_unit = '440.00' + currency = 'USD' ) + ( material = 'R0001' + name = 'Gas' + description = 'Gas from sibiria' + stock = '50000' + stock_unit = 'MMQ' + price_per_unit = '1560.00' + currency = 'RUB' ) + ). + + DELETE FROM zhs_dmo_material. + INSERT zhs_dmo_material FROM TABLE @mt_material. + ENDMETHOD. + + METHOD create_partner. + mt_partner = VALUE #( + ( partner = '1000000000' name = 'SAP' street = 'Demo Street 15' city = 'Walldorf' country = 'DE' payment_currency = 'EUR' ) + ( partner = '1000000001' name = 'Microsoft' street = 'Demo Street 24' city = 'Redmond' country = 'US' payment_currency = 'USD' ) + ( partner = '1000000002' name = 'Meta' street = 'Fox Street 1' city = 'Menlo Park' country = 'US' payment_currency = 'USD' ) + ( partner = '1000000003' name = 'Alibaba' street = 'Alley 15' city = 'Hangzhou' country = 'CN' payment_currency = 'CNY' ) + ( partner = '1000000004' name = 'BMW' street = 'Main Avenue 200' city = 'Munich' country = 'DE' payment_currency = 'EUR' ) + ( partner = '1000000005' name = 'Nestle' street = 'Village Alley 14' city = 'Vevey' country = 'CH' payment_currency = 'CHF' ) + ( partner = '1000000006' name = 'Gazprom' street = 'Peace Avenue 1' city = 'Sankt Petersburg' country = 'RU' payment_currency = 'RUB' ) + ). + + DELETE FROM zhs_dmo_partner. + INSERT zhs_dmo_partner FROM TABLE @mt_partner. + ENDMETHOD. + + METHOD create_positions. + IF mo_random_position IS INITIAL. + mo_random_position = NEW #( id_min = 1 id_max = c_max_number_of_positions ). + mo_random_material = NEW #( id_min = 1 id_max = lines( mt_material ) ). + mo_random_quantity = NEW #( id_min = 1 id_max = c_max_quantity_per_position ). + ENDIF. + + DO mo_random_position->rand( ) TIMES. + DATA(ld_index) = sy-index. + DATA(ls_material) = mt_material[ mo_random_material->rand( ) ]. + DATA(ld_quantity) = mo_random_quantity->rand( ). + + TRY. + DATA(ld_discount) = mt_discount[ partner = is_head-partner material = ls_material-material ]-discount. + CATCH cx_sy_itab_line_not_found. + ld_discount = 0. + ENDTRY. + + DATA(ls_position) = VALUE zbs_dmo_position( + document = is_head-document + pos_number = ld_index + material = ls_material-material + quantity = ld_quantity + price = ( ld_quantity * ls_material-price_per_unit ) * ( 1 - ld_discount / 100 ) + currency = mt_partner[ partner = is_head-partner ]-payment_currency + ). + + TRY. + SELECT SINGLE FROM zhs_dmo_discount + FIELDS + currency_conversion( + amount = @ls_position-price, + source_currency = @ls_material-currency, + target_currency = @ls_position-currency, + exchange_rate_date = @is_head-doc_date, + round = @abap_true + ) AS price + INTO @ls_position-price. + + CATCH cx_sy_open_sql_db. + ls_position-price = c_error. + ENDTRY. + + INSERT ls_position INTO TABLE mt_position. + ENDDO. + ENDMETHOD. + +ENDCLASS. diff --git a/src/zcl_hs_demo_dummy_data.clas.xml b/src/zcl_hs_demo_dummy_data.clas.xml new file mode 100644 index 0000000..f711838 --- /dev/null +++ b/src/zcl_hs_demo_dummy_data.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_HS_DEMO_DUMMY_DATA + E + Generate Data + 1 + X + X + X + + + + diff --git a/src/zcl_hs_demo_random.clas.abap b/src/zcl_hs_demo_random.clas.abap new file mode 100644 index 0000000..2a4fe19 --- /dev/null +++ b/src/zcl_hs_demo_random.clas.abap @@ -0,0 +1,52 @@ +CLASS zcl_hs_demo_random DEFINITION + PUBLIC FINAL + CREATE PUBLIC. + + PUBLIC SECTION. + CLASS-METHODS class_constructor. + + METHODS constructor + IMPORTING id_min TYPE i DEFAULT 1 + id_max TYPE i DEFAULT 6. + + METHODS rand + RETURNING VALUE(rd_rand) TYPE i. + + PRIVATE SECTION. + CLASS-DATA mo_seed TYPE REF TO cl_abap_random. + + DATA mo_rand TYPE REF TO cl_abap_random. + DATA md_from TYPE i. + DATA md_to TYPE i. +ENDCLASS. + + +CLASS zcl_hs_demo_random IMPLEMENTATION. + METHOD class_constructor. + TRY. + DATA(ld_date) = cl_abap_context_info=>get_system_date( ). + DATA(ld_time) = cl_abap_context_info=>get_system_time( ). + + DATA(ld_seed) = CONV i( |{ ld_date+4 }{ ld_time }| ). + CATCH cx_sy_conversion_overflow. + ld_seed = 1337. + ENDTRY. + + mo_seed = cl_abap_random=>create( ld_seed ). + ENDMETHOD. + + + METHOD constructor. + md_from = id_min. + md_to = id_max. + + mo_rand = cl_abap_random=>create( mo_seed->intinrange( low = 1 + high = 10000 ) ). + ENDMETHOD. + + + METHOD rand. + rd_rand = mo_rand->intinrange( low = md_from + high = md_to ). + ENDMETHOD. +ENDCLASS. diff --git a/src/zcl_hs_demo_random.clas.xml b/src/zcl_hs_demo_random.clas.xml new file mode 100644 index 0000000..b4e37be --- /dev/null +++ b/src/zcl_hs_demo_random.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_HS_DEMO_RANDOM + E + Random number generator + 1 + X + X + X + + + + diff --git a/src/zhs_dmo_discount.tabl.xml b/src/zhs_dmo_discount.tabl.xml new file mode 100644 index 0000000..2f5a901 --- /dev/null +++ b/src/zhs_dmo_discount.tabl.xml @@ -0,0 +1,75 @@ + + + + + + ZHS_DMO_DISCOUNT + E + TRANSP + X + Discount Data + E + A + 1 + + + ZHS_DMO_DISCOUNT + A + 0 + APPL0 + N + + + + CLIENT + X + 0 + C + 000006 + X + CLNT + 000003 + CLNT + + + PARTNER + X + 0 + C + 000020 + X + CHAR + 000010 + CHAR + + + MATERIAL + X + 0 + C + 000010 + X + CHAR + 000005 + CHAR + + + DISCOUNT + 0 + P + 000003 + DEC + 000005 + 000002 + DEC + + + + + ZHS_DMO_DISCOUNT + CUS_DEV_SUP_DA + + + + + diff --git a/src/zhs_dmo_invoice.tabl.xml b/src/zhs_dmo_invoice.tabl.xml new file mode 100644 index 0000000..5400dc2 --- /dev/null +++ b/src/zhs_dmo_invoice.tabl.xml @@ -0,0 +1,83 @@ + + + + + + ZHS_DMO_INVOICE + E + TRANSP + X + Invoice Data + E + A + 1 + + + ZHS_DMO_INVOICE + A + 0 + APPL0 + N + + + + CLIENT + X + 0 + C + 000006 + X + CLNT + 000003 + CLNT + + + DOCUMENT + X + 0 + C + 000016 + X + CHAR + 000008 + CHAR + + + DOC_DATE + 0 + D + 000016 + DATS + 000008 + DATS + T + + + DOC_TIME + 0 + T + 000012 + TIMS + 000006 + TIMS + T + + + PARTNER + 0 + C + 000020 + CHAR + 000010 + CHAR + + + + + ZHS_DMO_INVOICE + CUS_DEV_SUP_DA + + + + + diff --git a/src/zhs_dmo_material.tabl.xml b/src/zhs_dmo_material.tabl.xml new file mode 100644 index 0000000..874b38d --- /dev/null +++ b/src/zhs_dmo_material.tabl.xml @@ -0,0 +1,113 @@ + + + + + + ZHS_DMO_MATERIAL + E + TRANSP + X + Material Data + E + A + 1 + + + ZHS_DMO_MATERIAL + A + 0 + APPL0 + N + + + + CLIENT + X + 0 + C + 000006 + X + CLNT + 000003 + CLNT + + + MATERIAL + X + 0 + C + 000010 + X + CHAR + 000005 + CHAR + + + NAME + 0 + C + 000050 + CHAR + 000025 + CHAR + + + DESCRIPTION + 0 + C + 000300 + CHAR + 000150 + CHAR + + + STOCK + 0 + P + 000006 + ZBS_DMO_MATERIAL + STOCK_UNIT + QUAN + 000010 + QUAN + + + STOCK_UNIT + 0 + C + 000006 + UNIT + 000003 + UNIT + + + PRICE_PER_UNIT + 0 + P + 000008 + ZBS_DMO_MATERIAL + CURRENCY + CURR + 000015 + 000002 + CURR + + + CURRENCY + 0 + C + 000010 + CUKY + 000005 + CUKY + + + + + ZHS_DMO_MATERIAL + CUS_DEV_SUP_DA + + + + + diff --git a/src/zhs_dmo_partner.tabl.xml b/src/zhs_dmo_partner.tabl.xml new file mode 100644 index 0000000..f1717c5 --- /dev/null +++ b/src/zhs_dmo_partner.tabl.xml @@ -0,0 +1,96 @@ + + + + + + ZHS_DMO_PARTNER + E + TRANSP + X + Partner Data + E + A + 1 + + + ZHS_DMO_PARTNER + A + 0 + APPL0 + N + + + + CLIENT + X + 0 + C + 000006 + X + CLNT + 000003 + CLNT + + + PARTNER + X + 0 + C + 000020 + X + CHAR + 000010 + CHAR + + + NAME + 0 + C + 000120 + CHAR + 000060 + CHAR + + + STREET + 0 + C + 000160 + CHAR + 000080 + CHAR + + + CITY + 0 + C + 000120 + CHAR + 000060 + CHAR + + + COUNTRY + LAND1 + 0 + E + + + PAYMENT_CURRENCY + 0 + C + 000010 + CUKY + 000005 + CUKY + + + + + ZHS_DMO_PARTNER + CUS_DEV_SUP_DA + + + + + diff --git a/src/zhs_dmo_position.tabl.xml b/src/zhs_dmo_position.tabl.xml new file mode 100644 index 0000000..18ef93b --- /dev/null +++ b/src/zhs_dmo_position.tabl.xml @@ -0,0 +1,106 @@ + + + + + + ZHS_DMO_POSITION + E + TRANSP + X + Invoice Position Data + E + A + 1 + + + ZHS_DMO_POSITION + A + 0 + APPL0 + N + + + + CLIENT + X + 0 + C + 000006 + X + CLNT + 000003 + CLNT + + + DOCUMENT + X + 0 + C + 000016 + X + CHAR + 000008 + CHAR + + + POS_NUMBER + X + 0 + X + 000002 + X + INT2 + 000005 + INT2 + + + MATERIAL + 0 + C + 000010 + CHAR + 000005 + CHAR + + + QUANTITY + 0 + P + 000006 + ZBS_DMO_MATERIAL + STOCK_UNIT + QUAN + 000010 + QUAN + + + PRICE + 0 + P + 000008 + ZBS_DMO_POSITION + CURRENCY + CURR + 000015 + 000002 + CURR + + + CURRENCY + 0 + C + 000010 + CUKY + 000005 + CUKY + + + + + ZHS_DMO_POSITION + CUS_DEV_SUP_DA + + + + + diff --git a/src/zhs_i_dmodiscount.ddls.asddls b/src/zhs_i_dmodiscount.ddls.asddls new file mode 100644 index 0000000..9ff574d --- /dev/null +++ b/src/zhs_i_dmodiscount.ddls.asddls @@ -0,0 +1,8 @@ +@AccessControl.authorizationCheck: #NOT_REQUIRED +@EndUserText.label: 'Interface for Discount' +define view entity ZHS_I_DmoDiscount as select from zhs_dmo_discount +{ + key partner as PartnerNumber, + key material as MaterialNumber, + discount as DiscountValue +} diff --git a/src/zhs_i_dmodiscount.ddls.baseinfo b/src/zhs_i_dmodiscount.ddls.baseinfo new file mode 100644 index 0000000..d46b4dc --- /dev/null +++ b/src/zhs_i_dmodiscount.ddls.baseinfo @@ -0,0 +1,19 @@ +{ +"BASEINFO": +{ +"FROM": +[ +"ZHS_DMO_DISCOUNT" +], +"ASSOCIATED": +[], +"BASE": +[], +"ANNO_REF": +[], +"SCALAR_FUNCTION": +[], +"VERSION":0, +"ANNOREF_EVALUATION_ERROR":"" +} +} \ No newline at end of file diff --git a/src/zhs_i_dmodiscount.ddls.xml b/src/zhs_i_dmodiscount.ddls.xml new file mode 100644 index 0000000..15d8c5b --- /dev/null +++ b/src/zhs_i_dmodiscount.ddls.xml @@ -0,0 +1,13 @@ + + + + + + ZHS_I_DMODISCOUNT + E + Interface for Discount + W + + + + diff --git a/src/zhs_i_dmoinvoice.ddls.asddls b/src/zhs_i_dmoinvoice.ddls.asddls new file mode 100644 index 0000000..73964c6 --- /dev/null +++ b/src/zhs_i_dmoinvoice.ddls.asddls @@ -0,0 +1,10 @@ +@AccessControl.authorizationCheck: #NOT_REQUIRED +@EndUserText.label: 'Interface for Invoice' +define view entity ZHS_I_DmoInvoice + as select from zhs_dmo_invoice +{ + key document as DocumentNumber, + doc_date as DocumentDate, + doc_time as DocumentTime, + partner as PartnerNumber +} diff --git a/src/zhs_i_dmoinvoice.ddls.baseinfo b/src/zhs_i_dmoinvoice.ddls.baseinfo new file mode 100644 index 0000000..e6044b4 --- /dev/null +++ b/src/zhs_i_dmoinvoice.ddls.baseinfo @@ -0,0 +1,19 @@ +{ +"BASEINFO": +{ +"FROM": +[ +"ZHS_DMO_INVOICE" +], +"ASSOCIATED": +[], +"BASE": +[], +"ANNO_REF": +[], +"SCALAR_FUNCTION": +[], +"VERSION":0, +"ANNOREF_EVALUATION_ERROR":"" +} +} \ No newline at end of file diff --git a/src/zhs_i_dmoinvoice.ddls.xml b/src/zhs_i_dmoinvoice.ddls.xml new file mode 100644 index 0000000..34e0dd8 --- /dev/null +++ b/src/zhs_i_dmoinvoice.ddls.xml @@ -0,0 +1,13 @@ + + + + + + ZHS_I_DMOINVOICE + E + Interface for Invoice + W + + + + diff --git a/src/zhs_i_dmomaterial.ddls.asddls b/src/zhs_i_dmomaterial.ddls.asddls new file mode 100644 index 0000000..435ff6f --- /dev/null +++ b/src/zhs_i_dmomaterial.ddls.asddls @@ -0,0 +1,15 @@ +@AccessControl.authorizationCheck: #NOT_REQUIRED +@EndUserText.label: 'Interface for Material' +define view entity ZHS_I_DmoMaterial + as select from zhs_dmo_material +{ + key material as MaterialNumber, + name as MaterialName, + description as MaterialDescription, + @Semantics.quantity.unitOfMeasure: 'STOCKUNIT' + stock as Stock, + stock_unit as StockUnit, + @Semantics.amount.currencyCode : 'Currency' + price_per_unit as PricePerUnit, + currency as Currency +} diff --git a/src/zhs_i_dmomaterial.ddls.baseinfo b/src/zhs_i_dmomaterial.ddls.baseinfo new file mode 100644 index 0000000..0f79bdf --- /dev/null +++ b/src/zhs_i_dmomaterial.ddls.baseinfo @@ -0,0 +1,19 @@ +{ +"BASEINFO": +{ +"FROM": +[ +"ZHS_DMO_MATERIAL" +], +"ASSOCIATED": +[], +"BASE": +[], +"ANNO_REF": +[], +"SCALAR_FUNCTION": +[], +"VERSION":0, +"ANNOREF_EVALUATION_ERROR":"" +} +} \ No newline at end of file diff --git a/src/zhs_i_dmomaterial.ddls.xml b/src/zhs_i_dmomaterial.ddls.xml new file mode 100644 index 0000000..77d674d --- /dev/null +++ b/src/zhs_i_dmomaterial.ddls.xml @@ -0,0 +1,13 @@ + + + + + + ZHS_I_DMOMATERIAL + E + Interface for Material + W + + + + diff --git a/src/zhs_i_dmopartner.ddls.asddls b/src/zhs_i_dmopartner.ddls.asddls new file mode 100644 index 0000000..a4215a6 --- /dev/null +++ b/src/zhs_i_dmopartner.ddls.asddls @@ -0,0 +1,12 @@ +@AccessControl.authorizationCheck: #NOT_REQUIRED +@EndUserText.label: 'Interface for Partner' +define view entity ZHS_I_DmoPartner + as select from zhs_dmo_partner +{ + key partner as PartnerNumber, + name as PartnerName, + street as Street, + city as City, + country as Country, + payment_currency as PaymentCurrency +} diff --git a/src/zhs_i_dmopartner.ddls.baseinfo b/src/zhs_i_dmopartner.ddls.baseinfo new file mode 100644 index 0000000..5493cf4 --- /dev/null +++ b/src/zhs_i_dmopartner.ddls.baseinfo @@ -0,0 +1,19 @@ +{ +"BASEINFO": +{ +"FROM": +[ +"ZHS_DMO_PARTNER" +], +"ASSOCIATED": +[], +"BASE": +[], +"ANNO_REF": +[], +"SCALAR_FUNCTION": +[], +"VERSION":0, +"ANNOREF_EVALUATION_ERROR":"" +} +} \ No newline at end of file diff --git a/src/zhs_i_dmopartner.ddls.xml b/src/zhs_i_dmopartner.ddls.xml new file mode 100644 index 0000000..4001dbe --- /dev/null +++ b/src/zhs_i_dmopartner.ddls.xml @@ -0,0 +1,13 @@ + + + + + + ZHS_I_DMOPARTNER + E + Interface for Partner + W + + + + diff --git a/src/zhs_i_dmoposition.ddls.asddls b/src/zhs_i_dmoposition.ddls.asddls new file mode 100644 index 0000000..e2bdf3f --- /dev/null +++ b/src/zhs_i_dmoposition.ddls.asddls @@ -0,0 +1,18 @@ +@AccessControl.authorizationCheck: #NOT_REQUIRED +@EndUserText.label: 'Interface for Position' +define view entity ZHS_I_DmoPosition as select from zhs_dmo_position +association [0..1] to ZBS_I_DmoInvoice as _Invoice on $projection.DocumentNumber = _Invoice.DocumentNumber +association [0..1] to ZBS_I_DmoMaterial as _Material on $projection.MaterialNumber = _Material.MaterialNumber +{ + key document as DocumentNumber, + key pos_number as PositionNumber, + material as MaterialNumber, + @Semantics.quantity.unitOfMeasure: 'PositionUnit' + quantity as PositionQuantity, + _Material.StockUnit as PositionUnit, + @Semantics.amount.currencyCode: 'PositionCurrency' + price as PositionPrice, + currency as PositionCurrency, + _Invoice, + _Material +} diff --git a/src/zhs_i_dmoposition.ddls.baseinfo b/src/zhs_i_dmoposition.ddls.baseinfo new file mode 100644 index 0000000..9672842 --- /dev/null +++ b/src/zhs_i_dmoposition.ddls.baseinfo @@ -0,0 +1,23 @@ +{ +"BASEINFO": +{ +"FROM": +[ +"ZBS_I_DMOMATERIAL", +"ZHS_DMO_POSITION" +], +"ASSOCIATED": +[ +"ZBS_I_DMOINVOICE", +"ZBS_I_DMOMATERIAL" +], +"BASE": +[], +"ANNO_REF": +[], +"SCALAR_FUNCTION": +[], +"VERSION":0, +"ANNOREF_EVALUATION_ERROR":"" +} +} \ No newline at end of file diff --git a/src/zhs_i_dmoposition.ddls.xml b/src/zhs_i_dmoposition.ddls.xml new file mode 100644 index 0000000..7f672de --- /dev/null +++ b/src/zhs_i_dmoposition.ddls.xml @@ -0,0 +1,13 @@ + + + + + + ZHS_I_DMOPOSITION + E + Interface for Position + W + + + + diff --git a/src/zhs_i_rappartner.bdef.asbdef b/src/zhs_i_rappartner.bdef.asbdef new file mode 100644 index 0000000..24a480f --- /dev/null +++ b/src/zhs_i_rappartner.bdef.asbdef @@ -0,0 +1,23 @@ +managed implementation in class zbp_hs_i_rappartner unique; +strict; + +define behavior for ZHS_I_RAPPartner alias Partner +persistent table zhs_dmo_partner +lock master +authorization master ( instance ) + +{ + create; + update; + delete; + + mapping for zbs_dmo_partner + { + PartnerNumber = partner; + PartnerName = name; + Street = street; + City = city; + Country = country; + PaymentCurrency = payment_currency; + } +} \ No newline at end of file diff --git a/src/zhs_i_rappartner.bdef.xml b/src/zhs_i_rappartner.bdef.xml new file mode 100644 index 0000000..46f8a4c --- /dev/null +++ b/src/zhs_i_rappartner.bdef.xml @@ -0,0 +1,39 @@ + + + + + + ZHS_I_RAPPARTNER + BDEF/BDO + RAP Interface for Partner + 60 + EN + + + ./zhs_i_rappartner/source/main/versions + http://www.sap.com/adt/relations/versions + Historic versions + + + ./zhs_i_rappartner/source/main + http://www.sap.com/adt/relations/source + text/plain + Source Content + + + ./zhs_i_rappartner/source/main + http://www.sap.com/adt/relations/source + text/html + Source Content (HTML) + + + EN + 5 + ./zhs_i_rappartner/source/main + ABAP_SOURCE + true + true + + + + diff --git a/src/zhs_i_rappartner.ddls.asddls b/src/zhs_i_rappartner.ddls.asddls new file mode 100644 index 0000000..21079f3 --- /dev/null +++ b/src/zhs_i_rappartner.ddls.asddls @@ -0,0 +1,12 @@ +@AccessControl.authorizationCheck: #NOT_REQUIRED +@EndUserText.label: 'RAP Interface for Partner' +define root view entity ZHS_I_RAPPartner + as select from zhs_dmo_partner +{ + key partner as PartnerNumber, + name as PartnerName, + street as Street, + city as City, + country as Country, + payment_currency as PaymentCurrency +} diff --git a/src/zhs_i_rappartner.ddls.baseinfo b/src/zhs_i_rappartner.ddls.baseinfo new file mode 100644 index 0000000..5493cf4 --- /dev/null +++ b/src/zhs_i_rappartner.ddls.baseinfo @@ -0,0 +1,19 @@ +{ +"BASEINFO": +{ +"FROM": +[ +"ZHS_DMO_PARTNER" +], +"ASSOCIATED": +[], +"BASE": +[], +"ANNO_REF": +[], +"SCALAR_FUNCTION": +[], +"VERSION":0, +"ANNOREF_EVALUATION_ERROR":"" +} +} \ No newline at end of file diff --git a/src/zhs_i_rappartner.ddls.xml b/src/zhs_i_rappartner.ddls.xml new file mode 100644 index 0000000..f93b6f1 --- /dev/null +++ b/src/zhs_i_rappartner.ddls.xml @@ -0,0 +1,13 @@ + + + + + + ZHS_I_RAPPARTNER + E + RAP Interface for Partner + W + + + + diff --git a/src/zhs_simple_partner.srvd.srvdsrv b/src/zhs_simple_partner.srvd.srvdsrv new file mode 100644 index 0000000..5cd27a9 --- /dev/null +++ b/src/zhs_simple_partner.srvd.srvdsrv @@ -0,0 +1,4 @@ +@EndUserText.label: 'Simple Partner Service' +define service ZHS_SIMPLE_PARTNER { + expose ZHS_I_RAPPartner as Partner; +} \ No newline at end of file diff --git a/src/zhs_simple_partner.srvd.xml b/src/zhs_simple_partner.srvd.xml new file mode 100644 index 0000000..c0f1d78 --- /dev/null +++ b/src/zhs_simple_partner.srvd.xml @@ -0,0 +1,19 @@ + + + + + + ZHS_SIMPLE_PARTNER + SRVD/SRV + Simple Partner Service + EN + EN + ./zhs_simple_partner/source/main + ABAP_SOURCE + ABAP Development Tools + S + Definition + + + + diff --git a/src/zhs_ui_simple_partner_o4.srvb.xml b/src/zhs_ui_simple_partner_o4.srvb.xml new file mode 100644 index 0000000..ea16884 --- /dev/null +++ b/src/zhs_ui_simple_partner_o4.srvb.xml @@ -0,0 +1,50 @@ + + + + + + + ZHS_UI_SIMPLE_PARTNER_O4 + SRVB/SVB + Simple UI Service + EN + EN + 5 + + + + ZHS_UI_SIMPLE_PARTNER_O4 + + ODATA + V4 + + + ZHS_SIMPLE_PARTNER + + + 0001 + NOT_RELEASED + + /sap/bc/adt/ddic/srvd/sources/zhs_simple_partner + SRVD/SRV + ZHS_SIMPLE_PARTNER + + + + base64 + + + + + + + + C1 + true + true + true + UNPUBLISH + + + + diff --git a/src/zhs_ui_simple_partner_o4_0001_g4ba.sco2.xml b/src/zhs_ui_simple_partner_o4_0001_g4ba.sco2.xml new file mode 100644 index 0000000..d63b426 --- /dev/null +++ b/src/zhs_ui_simple_partner_o4_0001_g4ba.sco2.xml @@ -0,0 +1,17 @@ + + + + + + ZHS_UI_SIMPLE_PARTNER_O4_0001_G4BA + G4BA + ZHS_UI_SIMPLE_PARTNER_O4 + X + 5 + ZHS_UI_SIMPLE_PARTNER_O4_0001_G4BA + ZHS_UI_SIMPLE_PARTNER_O4 + 5 + + + +