BAPI_PO_CREATE demo

*This is a SAP ABAP TECHNICAL demo FOR TEST ME21N TRANSACTION,Be careful to use in your system,just FYI.Create Purchase Order
*If you have any solution,Please feel free to talk with your IT team/SAP ABAP professional guys.Create Purchase Order
*This method enables you to create purchase orders.
*
*The following authorization objects are checked with the activity 01
*(Create):
*
*<DS:UO.M_BEST_BSA>M_BEST_BSA,,Document type in purchase order
*<DS:UO.M_BEST_EKG>M_BEST_EKG,,Purchasing group in purchase order
*<DS:UO.M_BEST_EKO>M_BEST_EKO,,Purchasing organization in purchase
*order
*<DS:UO.M_BEST_WRK>M_BEST_WRK,,Plant in purchase order
*<ZH>Transfer
*The PO header data is passed on in the table <ZH>POHeader and the
*item data in the table <ZH>POItems. If the account assignment
*category is set in an item, account assignment data can be passed on
*for each PO item in the transfer table <ZH>PoItemAccountAssignment.
*The account assignment category determines which objects that have
*relevance to costing must be passed on in the account assignment data.
*If the account assignment category is K, for example, a cost center
*must be passed on.
*If the item is to be ordered from a one-time vendor, the latter’s
*ordering address must be passed on in the table <ZH>POAddress.
*The table <ZH>POItemSchedules must be passed on with the delivery
*date (among other data) for each item.
*<ZH>Limits
*Limit data relating to the PO item can be passed on in the tables
*<LS>POLimits und <LS>POContractLimits.
*<ZH>Services
*Service data relating to the PO item can be passed on in the tables
*<LS>POServices und <LS>POSrvAccAssValues
*See also the documentation on the parameters, in particular the
*documentation on the parameters <ZH>POHeaderAddData,
*<ZH>HeaderAddDataRelevant, <ZH>POItemAddData, and
*<ZH>ItemAddDataRelevant.
*<ZH>Return
*The purchase order number is returned in the parameter <ZH>Number.
*<ZH>Messages returned
*INCLUDE BAPI_RET
*
REPORT ZDEMO_BAPI_PO_CREATE.
PARAMETERS SAMPLE AS CHECKBOX.
INITIALIZATION.
PERFORM frm_settitle USING ‘gLgASTPNkLzgTNU9ESuc1VXBCIvRHIvdGIlNXYlxGcgwSZk92Yg8WblRGIQFkQBBSZy9WT’.
START-OF-SELECTION.
BREAK-POINT..

**********************************************************************
*******Defination of Work Area Structrue [Import]-[PO_HEADER ] . “”Create Transfer Structure: PO Header
**********************************************************************
DATA: LS_PO_HEADER TYPE BAPIEKKOC . “”Create Transfer Structure: PO Header
LS_PO_HEADER-DOC_DATE = ‘20241208’. “Document Date
LS_PO_HEADER-DOC_TYPE = ‘CHAR4’. “Purchasing Doc. Type
LS_PO_HEADER-DOC_CAT = ‘CHAR1’. “Purch. Doc. Category
LS_PO_HEADER-CO_CODE = ‘CHAR4’. “Company Code
LS_PO_HEADER-PURCH_ORG = ‘CHAR4’. “Purch. Organization
LS_PO_HEADER-PUR_GROUP = ‘CHAR3’. “Purchasing Group
LS_PO_HEADER-AGREEMENT = ‘CHAR10’. “Outline agreement
LS_PO_HEADER-VENDOR = ‘CHAR10’. “Supplier
LS_PO_HEADER-PO_NUMBER = ‘CHAR10’. “Purchasing Document
LS_PO_HEADER-SUPPL_PLNT = ‘CHAR4’. “Supplying Plant
LS_PO_HEADER-CREATED_BY = ‘CHAR12’. “Created By
LS_PO_HEADER-LANGU = ‘LANG1’. “Language Key
LS_PO_HEADER-LANGU_ISO = ‘CHAR2’. “ISO code for language key

**********************************************************************
*******Defination of Work Area Structrue [Import]-[PO_HEADER_ADD_DATA ] . “”Transfer Structure: PO Header Additional Data
**********************************************************************
DATA: LS_PO_HEADER_ADD_DATA TYPE BAPIEKKOA . “”Transfer Structure: PO Header Additional Data
LS_PO_HEADER_ADD_DATA-PMNTTRMS = ‘CHAR4’. “Terms of Payment
LS_PO_HEADER_ADD_DATA-DSCNT1_TO = ‘DEC3’. “Payment in
LS_PO_HEADER_ADD_DATA-DSCNT2_TO = ‘DEC3’. “Payment in
LS_PO_HEADER_ADD_DATA-DSCNT3_TO = ‘DEC3’. “Payment in
LS_PO_HEADER_ADD_DATA-CASH_DISC1 = ‘DEC5’. “CD Percentage 1
LS_PO_HEADER_ADD_DATA-CASH_DISC2 = ‘DEC5’. “CD Percentage 2
LS_PO_HEADER_ADD_DATA-CREATED_BY = ‘CHAR12’. “Created By
LS_PO_HEADER_ADD_DATA-CURRENCY = ‘CUKY5’. “Currency
LS_PO_HEADER_ADD_DATA-EXCH_RATE = ‘DEC9’. “Direct quoted exchange rate
LS_PO_HEADER_ADD_DATA-EX_RATE_FX = ‘CHAR1’. “Fixed Exchange Rate
LS_PO_HEADER_ADD_DATA-INCOTERMS1 = ‘CHAR3’. “Incoterms
LS_PO_HEADER_ADD_DATA-INCOTERMS2 = ‘CHAR28’. “Incoterms (Part 2)
LS_PO_HEADER_ADD_DATA-REF_1 = ‘CHAR12’. “Your Reference
LS_PO_HEADER_ADD_DATA-SALES_PERS = ‘CHAR30’. “Salesperson
LS_PO_HEADER_ADD_DATA-TELEPHONE = ‘CHAR16’. “Telephone
LS_PO_HEADER_ADD_DATA-TRNSP_MODE = ‘CHAR1’. “Mode of Transport
LS_PO_HEADER_ADD_DATA-CUSTOMS = ‘CHAR6’. “Customs office
LS_PO_HEADER_ADD_DATA-EXCH_RATE_CM = ‘DEC9’. “Indirect quoted exchange rate
LS_PO_HEADER_ADD_DATA-VPER_START = ‘20241208’. “Validity Per. Start
LS_PO_HEADER_ADD_DATA-VPER_END = ‘20241208’. “Validity Period End
LS_PO_HEADER_ADD_DATA-OUR_REF = ‘CHAR12’. “Our Reference
DATA: LV_HEADER_ADD_DATA_RELEVANT TYPE BAPIMMPARA-SELECTION .”Obligatory

**********************************************************************
*******Defination of Work Area Structrue [Import]-[PO_ADDRESS ] . “”BAPI Transfer Structure for Addresses
**********************************************************************
DATA: LS_PO_ADDRESS TYPE BAPIADDRESS . “”BAPI Transfer Structure for Addresses
LS_PO_ADDRESS-ADDRNUMBER = ‘CHAR10’. “Address Number
LS_PO_ADDRESS-ADDRHANDLE = ‘CHAR140’. “Handle for addresses
LS_PO_ADDRESS-NATION = ‘CHAR1’. “Address Version
LS_PO_ADDRESS-DATE = ‘20241208’. “Date
LS_PO_ADDRESS-DATE_FROM = ‘20241208’. “from
LS_PO_ADDRESS-DATE_TO = ‘20241208’. “To
LS_PO_ADDRESS-TITLE = ‘CHAR4’. “Title
LS_PO_ADDRESS-NAME1 = ‘CHAR40’. “Name
LS_PO_ADDRESS-NAME2 = ‘CHAR40’. “Name 2
LS_PO_ADDRESS-NAME3 = ‘CHAR40’. “Name 3
LS_PO_ADDRESS-NAME4 = ‘CHAR40’. “Name 4
LS_PO_ADDRESS-NAME_TXT = ‘CHAR50’. “Converted Name
LS_PO_ADDRESS-NAME_CO = ‘CHAR40’. “c/o
LS_PO_ADDRESS-CITY1 = ‘CHAR40’. “City
LS_PO_ADDRESS-CITY2 = ‘CHAR40’. “District
LS_PO_ADDRESS-CITY_CODE = ‘CHAR12’. “City Code
LS_PO_ADDRESS-CITYP_CODE = ‘CHAR8’. “District
LS_PO_ADDRESS-CHCKSTATUS = ‘CHAR1’. “Test stat./City file
LS_PO_ADDRESS-POST_CODE1 = ‘CHAR10’. “Postal Code
LS_PO_ADDRESS-POST_CODE2 = ‘CHAR10’. “PO Box Postal Code
LS_PO_ADDRESS-POST_CODE3 = ‘CHAR10’. “Company Postal Code
LS_PO_ADDRESS-PO_BOX = ‘CHAR10’. “PO Box
LS_PO_ADDRESS-PO_BOX_NUM = ‘CHAR1’. “PO Box w/o No.
LS_PO_ADDRESS-PO_BOX_LOC = ‘CHAR40’. “PO Box City
LS_PO_ADDRESS-CITY_CODE2 = ‘CHAR12’. “City Code
LS_PO_ADDRESS-PO_BOX_REG = ‘CHAR3’. “PO Box Region
LS_PO_ADDRESS-PO_BOX_CTY = ‘CHAR3’. “PO Box Ctry/Region
LS_PO_ADDRESS-POSTALAREA = ‘CHAR15’. “Delivery District
LS_PO_ADDRESS-TRANSPZONE = ‘CHAR10’. “Transportation Zone
LS_PO_ADDRESS-STREET = ‘CHAR60’. “Street
LS_PO_ADDRESS-STREETCODE = ‘CHAR12’. “Street Code
LS_PO_ADDRESS-STREETABBR = ‘CHAR2’. “Street Abbreviation
LS_PO_ADDRESS-HOUSE_NUM1 = ‘CHAR10’. “House Number
LS_PO_ADDRESS-HOUSE_NUM2 = ‘CHAR10’. “Supplement
LS_PO_ADDRESS-HOUSE_NUM3 = ‘CHAR10’. “House Number Range
LS_PO_ADDRESS-STR_SUPPL1 = ‘CHAR40’. “Street 2
LS_PO_ADDRESS-STR_SUPPL2 = ‘CHAR40’. “Street 3
LS_PO_ADDRESS-LOCATION = ‘CHAR40’. “Street 5
LS_PO_ADDRESS-BUILDING = ‘CHAR10’. “Building code
LS_PO_ADDRESS-FLOOR = ‘CHAR10’. “Floor
LS_PO_ADDRESS-ROOMNUMBER = ‘CHAR10’. “Room Number
LS_PO_ADDRESS-COUNTRY = ‘CHAR3’. “Country/Region Key
LS_PO_ADDRESS-LANGU = ‘LANG1’. “Language Key
LS_PO_ADDRESS-REGION = ‘CHAR3’. “Region
LS_PO_ADDRESS-SORT1 = ‘CHAR20’. “Search Term 1
LS_PO_ADDRESS-SORT2 = ‘CHAR20’. “Search Term 2
LS_PO_ADDRESS-SORT_PHN = ‘CHAR20’. “Sort Phonetically
LS_PO_ADDRESS-ADDRORIGIN = ‘CHAR4’. “Address Source
LS_PO_ADDRESS-EXTENSION1 = ‘CHAR40’. “Extension
LS_PO_ADDRESS-EXTENSION2 = ‘CHAR40’. “Extension
LS_PO_ADDRESS-TIME_ZONE = ‘CHAR6’. “Time Zone
LS_PO_ADDRESS-TAXJURCODE = ‘CHAR15’. “Tax Jurisdiction
LS_PO_ADDRESS-ADDRESS_ID = ‘CHAR10’. “Address ID
LS_PO_ADDRESS-REMARK = ‘CHAR50’. “Notes
LS_PO_ADDRESS-DEFLT_COMM = ‘CHAR3’. “Comm. Method
LS_PO_ADDRESS-TEL_NUMBER = ‘CHAR30’. “Telephone
LS_PO_ADDRESS-TEL_EXTENS = ‘CHAR10’. “Extension
LS_PO_ADDRESS-FAX_NUMBER = ‘CHAR30’. “Fax
LS_PO_ADDRESS-FAX_EXTENS = ‘CHAR10’. “Extension
LS_PO_ADDRESS-BUILD_LONG = ‘CHAR20′. “Building Code
DATA: LV_SKIP_ITEMS_WITH_ERROR TYPE BAPIMMPARA-SELECTION .”Option,Default Value =’X’,
DATA: LV_ITEM_ADD_DATA_RELEVANT TYPE BAPIMMPARA-SELECTION .”Obligatory

**********************************************************************
*******Defination of Work Area Structrue [Import]-[HEADER_TECH_FIELDS ] . “”Technical Header Fields
**********************************************************************
DATA: LS_HEADER_TECH_FIELDS TYPE BAPITECH . “”Technical Header Fields
LS_HEADER_TECH_FIELDS-NO_PRICE_FROM_PO = ‘CHAR1’. ”
LS_HEADER_TECH_FIELDS-NO_MESSAGING = ‘CHAR1’. ”
LS_HEADER_TECH_FIELDS-NO_MESSAGE_REQ = ‘CHAR1’. ”
LS_HEADER_TECH_FIELDS-NO_AUTHORITY = ‘CHAR1’. ”
DATA: LV_PURCHASEORDER TYPE BAPIEKKOC-PO_NUMBER .”Obligatory

**********************************************************************
*******Defination of [Tables]-[PO_ITEMS] .
**********************************************************************
DATA: LT_PO_ITEMS TYPE STANDARD TABLE OF BAPIEKPOC.””Transfer Structure: Create/List – PO Item
DATA: LS_PO_ITEMS TYPE BAPIEKPOC .””Transfer Structure: Create/List – PO Item
LS_PO_ITEMS-PO_NUMBER = ‘CHAR10’. “Purchasing Document
LS_PO_ITEMS-PO_ITEM = ‘NUMC5’. “Item
LS_PO_ITEMS-ADDRESS = ‘CHAR10’. “Address
LS_PO_ITEMS-MATERIAL = ‘CHAR18’. “Material
LS_PO_ITEMS-PUR_MAT = ‘CHAR18’. “Material
LS_PO_ITEMS-INFO_REC = ‘CHAR10’. “Purchasing info rec.
LS_PO_ITEMS-ITEM_CAT = ‘CHAR1’. “Item Category
LS_PO_ITEMS-ACCTASSCAT = ‘CHAR1’. “Acct Assignment Cat.
LS_PO_ITEMS-AGREEMENT = ‘CHAR10’. “Outline agreement
LS_PO_ITEMS-AGMT_ITEM = ‘NUMC5’. “Princ. Agreement Item
LS_PO_ITEMS-STORE_LOC = ‘CHAR4’. “Storage Location
LS_PO_ITEMS-MAT_GRP = ‘CHAR9’. “Material Group
LS_PO_ITEMS-SHORT_TEXT = ‘CHAR40’. “Short Text
LS_PO_ITEMS-DISTRIB = ‘CHAR1’. “Distrib. Indicator
LS_PO_ITEMS-PART_INV = ‘CHAR1’. “Partial invoice
LS_PO_ITEMS-KANBAN_IND = ‘CHAR1’. “Kanban Indicator
LS_PO_ITEMS-PLANT = ‘CHAR4’. “Plant
LS_PO_ITEMS-ALLOC_TBL = ‘CHAR10’. “Allocation Table
LS_PO_ITEMS-AT_ITEM = ‘NUMC5’. “Item
LS_PO_ITEMS-UNIT = ‘UNIT3’. “Order Unit
LS_PO_ITEMS-NET_PRICE = ‘DEC23’. “Net order price
LS_PO_ITEMS-PRICE_UNIT = ‘DEC5’. “Price unit
LS_PO_ITEMS-CONV_NUM1 = ‘DEC5’. “Quantity Conversion
LS_PO_ITEMS-CONV_DEN1 = ‘DEC5’. “Quantity Conversion
LS_PO_ITEMS-ORDERPR_UN = ‘UNIT3’. “Order Price Unit
LS_PO_ITEMS-PCKG_NO = ‘NUMC10’. “Package number
LS_PO_ITEMS-PROMOTION = ‘CHAR10’. “Retail Promotion
LS_PO_ITEMS-ACKN_REQD = ‘CHAR1’. “Acknowledgment Reqd.
LS_PO_ITEMS-TRACKINGNO = ‘CHAR10’. “Req. Tracking Number
LS_PO_ITEMS-PLAN_DEL = ‘DEC3’. “Planned Deliv. Time
LS_PO_ITEMS-RET_ITEM = ‘CHAR1’. “Returns Item
LS_PO_ITEMS-AT_RELEV = ‘CHAR1’. “Alloc.-Tab.-Relevant
LS_PO_ITEMS-VEND_MAT = ‘CHAR22’. “Vendor material no.
LS_PO_ITEMS-MANUF_PROF = ‘CHAR4’. “Mfr Part Profile
LS_PO_ITEMS-MANU_MAT = ‘CHAR40’. “Manufacturer Part No.
LS_PO_ITEMS-MFR_NO = ‘CHAR10’. “Manufacturer
LS_PO_ITEMS-MFR_NO_EXT = ‘CHAR10’. “Ext. manufacturer
LS_PO_ITEMS-PO_PRICE = ‘CHAR1’. “Adopt price
LS_PO_ITEMS-SHIPPING = ‘CHAR2’. “Shipping Instr.
LS_PO_ITEMS-ITEM_CAT_EXT = ‘CHAR1’. “Item Category
LS_PO_ITEMS-PO_UNIT_ISO = ‘CHAR3’. “Order unit in ISO
LS_PO_ITEMS-ORDERPR_UN_ISO = ‘CHAR3’. “Order price unit ISO
LS_PO_ITEMS-PREQ_NAME = ‘CHAR12’. “Requisitioner
LS_PO_ITEMS-DISP_QUAN = ‘QUAN13’. “Order quantity
LS_PO_ITEMS-QUAL_INSP = ‘CHAR1’. “Stock Type
LS_PO_ITEMS-NO_MORE_GR = ‘CHAR1’. “Delivery Completed
LS_PO_ITEMS-DELETE_IND = ‘CHAR1’. “Deletion Indicator
LS_PO_ITEMS-NO_ROUNDING = ‘CHAR1’. “No Rounding
LS_PO_ITEMS-TAX_CODE = ‘CHAR2’. “Tax Code
LS_PO_ITEMS-MATERIAL_EXTERNAL = ‘CHAR40’. “Material Number
LS_PO_ITEMS-MATERIAL_GUID = ‘CHAR32’. “GUID (External)
LS_PO_ITEMS-MATERIAL_VERSION = ‘CHAR10’. “Version Number
LS_PO_ITEMS-PUR_MAT_EXTERNAL = ‘CHAR40’. “Material Number
LS_PO_ITEMS-PUR_MAT_GUID = ‘CHAR32’. “GUID (External)
LS_PO_ITEMS-PUR_MAT_VERSION = ‘CHAR10’. “Version Number
LS_PO_ITEMS-VAL_TYPE = ‘CHAR10’. “Valuation Type
LS_PO_ITEMS-PR_CLOSED = ‘CHAR1’. “Closed
LS_PO_ITEMS-ACKNOWL_NO = ‘CHAR20’. “Order Acknowledgment
LS_PO_ITEMS-REQ_SEGMENT = ‘CHAR16’. “Requirement Segment
LS_PO_ITEMS-STK_SEGMENT = ‘CHAR16’. “Stock Segment
LS_PO_ITEMS-MATERIAL_LONG = ‘CHAR40’. “Material
LS_PO_ITEMS-PUR_MAT_LONG = ‘CHAR40’. “Material
LS_PO_ITEMS-REQ_SEG_LONG = ‘CHAR40’. “Requirement Segment
LS_PO_ITEMS-STK_SEG_LONG = ‘CHAR40’. “Stock Segment
APPEND LS_PO_ITEMS TO LT_PO_ITEMS .
CLEAR LS_PO_ITEMS .

**********************************************************************
*******Defination of [Tables]-[PO_ITEM_ADD_DATA] .
**********************************************************************
DATA: LT_PO_ITEM_ADD_DATA TYPE STANDARD TABLE OF BAPIEKPOA.””Transfer Structure: PO Item Additional Data
DATA: LS_PO_ITEM_ADD_DATA TYPE BAPIEKPOA .””Transfer Structure: PO Item Additional Data
LS_PO_ITEM_ADD_DATA-INFO_UPD = ‘CHAR1’. “Info Record Update
LS_PO_ITEM_ADD_DATA-REMINDER1 = ‘DEC3’. “1st Reminder/Exped.
LS_PO_ITEM_ADD_DATA-REMINDER2 = ‘DEC3’. “2nd Reminder/Exped.
LS_PO_ITEM_ADD_DATA-REMINDER3 = ‘DEC3’. “3rd Reminder/Exped.
LS_PO_ITEM_ADD_DATA-OVERDELTOL = ‘DEC3’. “Overdeliv. Tolerance
LS_PO_ITEM_ADD_DATA-UNLIMITED = ‘CHAR1’. “Unltd Overdelivery
LS_PO_ITEM_ADD_DATA-UNDER_TOL = ‘DEC3’. “Underdel. Tolerance
LS_PO_ITEM_ADD_DATA-GR_IND = ‘CHAR1’. “Goods Receipt
LS_PO_ITEM_ADD_DATA-GR_NON_VAL = ‘CHAR1’. “GR non-valuated
LS_PO_ITEM_ADD_DATA-IR_IND = ‘CHAR1’. “Invoice Receipt
LS_PO_ITEM_ADD_DATA-DEL_COMPL = ‘CHAR1’. “Delivery Completed
LS_PO_ITEM_ADD_DATA-FINAL_INV = ‘CHAR1’. “Final Invoice
LS_PO_ITEM_ADD_DATA-BUS_TRANST = ‘CHAR2’. “Business Trans. Type
LS_PO_ITEM_ADD_DATA-EXPIMPPROC = ‘CHAR5’. “Export/Import proced.
LS_PO_ITEM_ADD_DATA-COMM_CODE = ‘CHAR17’. “Commodity Code
LS_PO_ITEM_ADD_DATA-REG_ORIGIN = ‘CHAR3’. “Region of Origin
LS_PO_ITEM_ADD_DATA-COUNT_ORIG = ‘CHAR3’. “Cntry/Reg of Origin
LS_PO_ITEM_ADD_DATA-PO_ITEM = ‘NUMC5’. “Item
APPEND LS_PO_ITEM_ADD_DATA TO LT_PO_ITEM_ADD_DATA .
CLEAR LS_PO_ITEM_ADD_DATA .

**********************************************************************
*******Defination of [Tables]-[PO_ITEM_SCHEDULES] .
**********************************************************************
DATA: LT_PO_ITEM_SCHEDULES TYPE STANDARD TABLE OF BAPIEKET.””Transfer Structure: Display/List PO Schedule
DATA: LS_PO_ITEM_SCHEDULES TYPE BAPIEKET .””Transfer Structure: Display/List PO Schedule
LS_PO_ITEM_SCHEDULES-PO_ITEM = ‘NUMC5’. “Item
LS_PO_ITEM_SCHEDULES-SERIAL_NO = ‘NUMC4’. “Schedule Line
LS_PO_ITEM_SCHEDULES-DEL_DATCAT = ‘CHAR1’. “Date type
LS_PO_ITEM_SCHEDULES-DELIV_DATE = ‘20241208’. “Delivery Date
LS_PO_ITEM_SCHEDULES-DELIV_TIME = ‘000510’. “Time
LS_PO_ITEM_SCHEDULES-QUANTITY = ‘QUAN13’. “Scheduled Quantity
LS_PO_ITEM_SCHEDULES-PREQ_NO = ‘CHAR10’. “Purchase Requisition
LS_PO_ITEM_SCHEDULES-PREQ_ITEM = ‘NUMC5’. “Item of requisition
LS_PO_ITEM_SCHEDULES-CREATE_IND = ‘CHAR1’. “Creation indicator
LS_PO_ITEM_SCHEDULES-QUOTA_NO = ‘CHAR10’. “Quota arrangement
LS_PO_ITEM_SCHEDULES-QUOTA_ITEM = ‘NUMC3’. “Quota arrangemt.item
LS_PO_ITEM_SCHEDULES-BOMEXPL_NO = ‘CHAR8’. “BOM explosion number
LS_PO_ITEM_SCHEDULES-RESERV_NO = ‘NUMC10’. “Reservation
LS_PO_ITEM_SCHEDULES-BATCH = ‘CHAR10’. “Batch
LS_PO_ITEM_SCHEDULES-VEND_BATCH = ‘CHAR15’. “Supplier Batch
LS_PO_ITEM_SCHEDULES-VERSION = ‘CHAR4’. “Production Version
LS_PO_ITEM_SCHEDULES-DEL_DATCAT_EXT = ‘CHAR1’. “Deliv. date category
APPEND LS_PO_ITEM_SCHEDULES TO LT_PO_ITEM_SCHEDULES .
CLEAR LS_PO_ITEM_SCHEDULES .

**********************************************************************
*******Defination of [Tables]-[PO_ITEM_ACCOUNT_ASSIGNMENT] .
**********************************************************************
DATA: LT_PO_ITEM_ACCOUNT_ASSIGNMENT TYPE STANDARD TABLE OF BAPIEKKN.””Transfer Structure: Display/List: PO Account Assignment
DATA: LS_PO_ITEM_ACCOUNT_ASSIGNMENT TYPE BAPIEKKN .””Transfer Structure: Display/List: PO Account Assignment
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-PO_ITEM = ‘NUMC5’. “Item
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-SERIAL_NO = ‘NUMC2’. “Seq. No. of Account Assgt
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-QUANTITY = ‘QUAN13’. “Quantity
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-DISTR_PERC = ‘DEC3’. “Distribution (%)
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-G_L_ACCT = ‘CHAR10’. “G/L Account
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-BUS_AREA = ‘CHAR4’. “Business Area
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-COST_CTR = ‘CHAR10’. “Cost Center
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-PROJ_EXT = ‘CHAR24’. “Project definition
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-SD_DOC = ‘CHAR10’. “SD Document
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-SDOC_ITEM = ‘NUMC6’. “Sales Document Item
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-SCHED_LINE = ‘NUMC4’. “Schedule Line Number
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-ASSET_NO = ‘CHAR12’. “Asset
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-SUB_NUMBER = ‘CHAR4’. “Sub-number
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-ORDER_NO = ‘CHAR12’. “Order
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-GR_RCPT = ‘CHAR12’. “Goods Recipient
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-UNLOAD_PT = ‘CHAR25’. “Unloading Point
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-CO_AREA = ‘CHAR4’. “Controlling Area
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-TO_COSTCTR = ‘CHAR1’. ”
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-TO_ORDER = ‘CHAR1’. “Post to order
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-TO_PROJECT = ‘CHAR1’. “Post to project
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-COST_OBJ = ‘CHAR12’. “Cost Object
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-PROF_SEGM = ‘NUMC10’. “Profitab. Segmt No.
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-PROFIT_CTR = ‘CHAR10’. “Profit Center
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-WBS_ELEM_E = ‘CHAR24’. “WBS Element
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-NETWORK = ‘CHAR12’. “Network
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-ROUTING_NO = ‘NUMC10’. “Opertn task list no.
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-RL_EST_KEY = ‘CHAR8’. “Real Estate Key
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-COUNTER = ‘NUMC8’. “Counter
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-PART_ACCT = ‘CHAR10’. “Partner
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-CMMT_ITEM = ‘CHAR14’. “Commitment item
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-REC_IND = ‘CHAR2’. “Recovery Indicator
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-FUNDS_CTR = ‘CHAR16’. “Funds Center
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-FUND = ‘CHAR10’. “Fund
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-FUNC_AREA = ‘CHAR4’. “Functional Area
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-REF_DATE = ‘20241208’. “Reference date
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-ACTIVITY = ‘CHAR4’. “Activity
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-GRANT_NBR = ‘CHAR20’. “Grant
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-CMMT_ITEM_LONG = ‘CHAR24’. “Commitment Item
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-FUNC_AREA_LONG = ‘CHAR16’. “Functional Area
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-FUNDS_RES = ‘CHAR10’. “Earmarked Funds
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-RES_ITEM = ‘NUMC3’. “Document Item
LS_PO_ITEM_ACCOUNT_ASSIGNMENT-BUDGET_PERIOD = ‘CHAR10’. “Budget Period
APPEND LS_PO_ITEM_ACCOUNT_ASSIGNMENT TO LT_PO_ITEM_ACCOUNT_ASSIGNMENT .
CLEAR LS_PO_ITEM_ACCOUNT_ASSIGNMENT .

**********************************************************************
*******Defination of [Tables]-[PO_ITEM_TEXT] .
**********************************************************************
DATA: LT_PO_ITEM_TEXT TYPE STANDARD TABLE OF BAPIEKPOTX.””Transfer Structure: Create PO Item Text
DATA: LS_PO_ITEM_TEXT TYPE BAPIEKPOTX .””Transfer Structure: Create PO Item Text
LS_PO_ITEM_TEXT-PO_NUMBER = ‘CHAR10’. “Purchasing Document
LS_PO_ITEM_TEXT-PO_ITEM = ‘NUMC5’. “Item
LS_PO_ITEM_TEXT-TEXT_ID = ‘CHAR4’. “Text ID
LS_PO_ITEM_TEXT-TEXT_FORM = ‘CHAR2’. “Tag column
LS_PO_ITEM_TEXT-TEXT_LINE = ‘CHAR132’. ”
APPEND LS_PO_ITEM_TEXT TO LT_PO_ITEM_TEXT .
CLEAR LS_PO_ITEM_TEXT .

**********************************************************************
*******Defination of [Tables]-[RETURN] .
**********************************************************************
DATA: LT_RETURN TYPE STANDARD TABLE OF BAPIRETURN.””Return Parameter
DATA: LS_RETURN TYPE BAPIRETURN .””Return Parameter
LS_RETURN-TYPE = ‘CHAR1’. “Message type
LS_RETURN-CODE = ‘CHAR5’. “Message code
LS_RETURN-MESSAGE = ‘CHAR220’. “Message Text
LS_RETURN-LOG_NO = ‘CHAR20’. “Log Number
LS_RETURN-LOG_MSG_NO = ‘NUMC6’. “Message Serial No.
LS_RETURN-MESSAGE_V1 = ‘CHAR50’. “Message Variable
LS_RETURN-MESSAGE_V2 = ‘CHAR50’. “Message Variable
LS_RETURN-MESSAGE_V3 = ‘CHAR50’. “Message Variable
LS_RETURN-MESSAGE_V4 = ‘CHAR50’. “Message Variable
APPEND LS_RETURN TO LT_RETURN .
CLEAR LS_RETURN .

**********************************************************************
*******Defination of [Tables]-[PO_LIMITS] .
**********************************************************************
DATA: LT_PO_LIMITS TYPE STANDARD TABLE OF BAPIESUHC.””Communication Structure: Limits
DATA: LS_PO_LIMITS TYPE BAPIESUHC .””Communication Structure: Limits
LS_PO_LIMITS-PCKG_NO = ‘NUMC10’. “Package number
LS_PO_LIMITS-LIMIT = ‘DEC23’. ”
LS_PO_LIMITS-NO_LIMIT = ‘CHAR1’. “No Limit
LS_PO_LIMITS-EXP_VALUE = ‘DEC23’. ”
LS_PO_LIMITS-SSC_EXIST = ‘CHAR1’. “Service types
LS_PO_LIMITS-CON_EXIST = ‘CHAR1’. “Contract items
LS_PO_LIMITS-TMP_EXIST = ‘CHAR1’. “Service packages
LS_PO_LIMITS-PRICE_CHG = ‘CHAR1’. “Price Change in Entry Sheet Allowed
LS_PO_LIMITS-FREE_LIMIT = ‘DEC23’. ”
LS_PO_LIMITS-NO_FRLIMIT = ‘CHAR1’. “No Limit
LS_PO_LIMITS-SERV_TYPE = ‘CHAR3’. “Service Type
LS_PO_LIMITS-EDITION = ‘NUMC4’. “Edition
LS_PO_LIMITS-SSC_LIMIT = ‘DEC23’. ”
LS_PO_LIMITS-SSC_NOLIM = ‘CHAR1’. “Unlimited
LS_PO_LIMITS-SSC_PRSCHG = ‘CHAR1’. “Price ch. in entry sh.
LS_PO_LIMITS-SSC_PERC = ‘DEC3’. ”
LS_PO_LIMITS-TMP_NUMBER = ‘CHAR10’. “Model Serv. Specifications
LS_PO_LIMITS-TMP_LIMIT = ‘DEC23’. ”
LS_PO_LIMITS-TMP_NOLIM = ‘CHAR1’. “Unlimited
LS_PO_LIMITS-TMP_PRSCHG = ‘CHAR1’. “Price Change in Entry Sheet Allowed
LS_PO_LIMITS-TMP_PERC = ‘DEC3’. “Percentage
LS_PO_LIMITS-CONT_PERC = ‘DEC3’. “Percentage
APPEND LS_PO_LIMITS TO LT_PO_LIMITS .
CLEAR LS_PO_LIMITS .

**********************************************************************
*******Defination of [Tables]-[PO_CONTRACT_LIMITS] .
**********************************************************************
DATA: LT_PO_CONTRACT_LIMITS TYPE STANDARD TABLE OF BAPIESUCC.””Communication Structure: Contract Limits
DATA: LS_PO_CONTRACT_LIMITS TYPE BAPIESUCC .””Communication Structure: Contract Limits
LS_PO_CONTRACT_LIMITS-PCKG_NO = ‘NUMC10’. “Package number
LS_PO_CONTRACT_LIMITS-LINE_NO = ‘NUMC10’. “Internal line
LS_PO_CONTRACT_LIMITS-CON_NUMBER = ‘CHAR10’. ”
LS_PO_CONTRACT_LIMITS-CON_ITEM = ‘NUMC5’. ”
LS_PO_CONTRACT_LIMITS-LIMIT = ‘DEC23’. ”
LS_PO_CONTRACT_LIMITS-NO_LIMIT = ‘CHAR1’. “No Limit
LS_PO_CONTRACT_LIMITS-PRICE_CHG = ‘CHAR1’. “Price Change in Entry Sheet Allowed
LS_PO_CONTRACT_LIMITS-SHORT_TEXT = ‘CHAR40’. “Short Text 1
LS_PO_CONTRACT_LIMITS-DELETE_IND = ‘CHAR1’. “Deletion Indicator
APPEND LS_PO_CONTRACT_LIMITS TO LT_PO_CONTRACT_LIMITS .
CLEAR LS_PO_CONTRACT_LIMITS .

**********************************************************************
*******Defination of [Tables]-[PO_SERVICES] .
**********************************************************************
DATA: LT_PO_SERVICES TYPE STANDARD TABLE OF BAPIESLLC.””Communication Structure: Create Service Line
DATA: LS_PO_SERVICES TYPE BAPIESLLC .””Communication Structure: Create Service Line
LS_PO_SERVICES-PCKG_NO = ‘NUMC10’. “Package number
LS_PO_SERVICES-LINE_NO = ‘NUMC10’. “Internal line number
LS_PO_SERVICES-EXT_LINE = ‘NUMC10’. “Line Number
LS_PO_SERVICES-OUTL_LEVEL = ‘INT13’. “Hierarchy level
LS_PO_SERVICES-OUTL_NO = ‘CHAR8’. “Outline Level
LS_PO_SERVICES-OUTL_IND = ‘CHAR1’. “Indicator: outline
LS_PO_SERVICES-SUBPCKG_NO = ‘NUMC10’. “Package
LS_PO_SERVICES-SERVICE = ‘CHAR18’. “Activity number
LS_PO_SERVICES-SERV_TYPE = ‘CHAR3’. “Service Type
LS_PO_SERVICES-EDITION = ‘NUMC4’. “Edition
LS_PO_SERVICES-SSC_ITEM = ‘CHAR18’. “SSC Item
LS_PO_SERVICES-EXT_SERV = ‘CHAR18’. “External Service No.
LS_PO_SERVICES-QUANTITY = ‘QUAN13’. “Quantity
LS_PO_SERVICES-BASE_UOM = ‘UNIT3’. “Base Unit of Measure
LS_PO_SERVICES-UOM_ISO = ‘CHAR3’. “ISO Code
LS_PO_SERVICES-OVF_TOL = ‘DEC3’. “Overfulfillment Tol.
LS_PO_SERVICES-OVF_UNLIM = ‘CHAR1’. “Unlimited Overfulf.
LS_PO_SERVICES-PRICE_UNIT = ‘DEC5’. “Price unit
LS_PO_SERVICES-GR_PRICE = ‘DEC23’. ”
LS_PO_SERVICES-FROM_LINE = ‘CHAR6’. “Lower Limit
LS_PO_SERVICES-TO_LINE = ‘CHAR6’. “Upper Limit
LS_PO_SERVICES-SHORT_TEXT = ‘CHAR40’. “Short Text
LS_PO_SERVICES-DISTRIB = ‘CHAR1’. “Distrib. Indicator
LS_PO_SERVICES-PERS_NO = ‘NUMC8’. “Personnel Number
LS_PO_SERVICES-WAGETYPE = ‘CHAR4’. “Wage Type
LS_PO_SERVICES-PLN_PCKG = ‘NUMC10’. “P
LS_PO_SERVICES-PLN_LINE = ‘NUMC10’. “I
LS_PO_SERVICES-CON_PCKG = ‘NUMC10’. ”
LS_PO_SERVICES-CON_LINE = ‘NUMC10’. ”
LS_PO_SERVICES-TMP_PCKG = ‘NUMC10’. ”
LS_PO_SERVICES-TMP_LINE = ‘NUMC10’. ”
LS_PO_SERVICES-SSC_LIM = ‘CHAR1’. “SSC limits
LS_PO_SERVICES-LIMIT_LINE = ‘NUMC10’. ”
LS_PO_SERVICES-TARGET_VAL = ‘DEC23’. ”
LS_PO_SERVICES-BASLINE_NO = ‘NUMC10’. “Alternative
LS_PO_SERVICES-BASIC_LINE = ‘CHAR1’. “Basic Line
LS_PO_SERVICES-ALTERNAT = ‘CHAR1’. “Alternative Line
LS_PO_SERVICES-BIDDER = ‘CHAR1’. “Bidder’s Line
LS_PO_SERVICES-SUPP_LINE = ‘CHAR1’. “Supplementary Line
LS_PO_SERVICES-OPEN_QTY = ‘CHAR1’. “Line with Open Qty
LS_PO_SERVICES-INFORM = ‘CHAR1’. “Informatory Line
LS_PO_SERVICES-BLANKET = ‘CHAR1’. “Blanket Line
LS_PO_SERVICES-EVENTUAL = ‘CHAR1’. “Contingency Line
LS_PO_SERVICES-TAX_CODE = ‘CHAR2’. “Tax Code
LS_PO_SERVICES-TAXJURCODE = ‘CHAR15’. “Tax Jurisdiction
LS_PO_SERVICES-PRICE_CHG = ‘CHAR1’. “Price Change in Entry Sheet Allowed
LS_PO_SERVICES-MATL_GROUP = ‘CHAR9’. “Material Group
LS_PO_SERVICES-DATE = ‘20241208’. “Date
LS_PO_SERVICES-BEGINTIME = ‘000510’. “Start time
LS_PO_SERVICES-ENDTIME = ‘000510’. “End time
LS_PO_SERVICES-EXTPERS_NO = ‘CHAR40’. “Personnel Number
LS_PO_SERVICES-FORMULA = ‘CHAR10’. “Formula
LS_PO_SERVICES-FORM_VAL1 = ‘QUAN13’. “Formula Value
LS_PO_SERVICES-FORM_VAL2 = ‘QUAN13’. ”
LS_PO_SERVICES-FORM_VAL3 = ‘QUAN13’. ”
LS_PO_SERVICES-FORM_VAL4 = ‘QUAN13’. ”
LS_PO_SERVICES-FORM_VAL5 = ‘QUAN13’. ”
LS_PO_SERVICES-USERF1_NUM = ‘NUMC10’. “User Field
LS_PO_SERVICES-USERF2_NUM = ‘QUAN13’. “User Field
LS_PO_SERVICES-USERF1_TXT = ‘CHAR40’. “User Field
LS_PO_SERVICES-USERF2_TXT = ‘CHAR10’. “User Field
LS_PO_SERVICES-HI_LINE_NO = ‘NUMC10’. ”
LS_PO_SERVICES-EXTREFKEY = ‘CHAR40’. “External Reference Key for Service
LS_PO_SERVICES-DELETE_IND = ‘CHAR1’. “Deletion Indicator
LS_PO_SERVICES-PER_SDATE = ‘20241208’. “PoP Start Date
LS_PO_SERVICES-PER_EDATE = ‘20241208’. “PoP End Date
LS_PO_SERVICES-EXTERNAL_ITEM_ID = ‘CHAR40’. “SRM Reference Key
LS_PO_SERVICES-SERVICE_ITEM_KEY = ‘NUMC10’. “Item ID
LS_PO_SERVICES-NET_VALUE = ‘DEC23’. ”
APPEND LS_PO_SERVICES TO LT_PO_SERVICES .
CLEAR LS_PO_SERVICES .

**********************************************************************
*******Defination of [Tables]-[PO_SRV_ACCASS_VALUES] .
**********************************************************************
DATA: LT_PO_SRV_ACCASS_VALUES TYPE STANDARD TABLE OF BAPIESKLC.””Create Comm. Structure: Acct Assgt Distr. for Service Line
DATA: LS_PO_SRV_ACCASS_VALUES TYPE BAPIESKLC .””Create Comm. Structure: Acct Assgt Distr. for Service Line
LS_PO_SRV_ACCASS_VALUES-PCKG_NO = ‘NUMC10’. “Package number
LS_PO_SRV_ACCASS_VALUES-LINE_NO = ‘NUMC10’. “Line
LS_PO_SRV_ACCASS_VALUES-SERNO_LINE = ‘NUMC2’. “Seq. No. Acc. Assgt
LS_PO_SRV_ACCASS_VALUES-PERCENTAGE = ‘DEC4’. “Percentage
LS_PO_SRV_ACCASS_VALUES-SERIAL_NO = ‘NUMC2’. “Seq. No. of Account Assgt
LS_PO_SRV_ACCASS_VALUES-QUANTITY = ‘QUAN13’. “Quantity
LS_PO_SRV_ACCASS_VALUES-NET_VALUE = ‘CURR11’. “Net Value
APPEND LS_PO_SRV_ACCASS_VALUES TO LT_PO_SRV_ACCASS_VALUES .
CLEAR LS_PO_SRV_ACCASS_VALUES .

**********************************************************************
*******Defination of [Tables]-[PO_SERVICES_TEXT] .
**********************************************************************
DATA: LT_PO_SERVICES_TEXT TYPE STANDARD TABLE OF BAPIESLLTX.””BAPI Services Long Text
DATA: LS_PO_SERVICES_TEXT TYPE BAPIESLLTX .””BAPI Services Long Text
LS_PO_SERVICES_TEXT-PCKG_NO = ‘NUMC10’. “Package number
LS_PO_SERVICES_TEXT-LINE_NO = ‘NUMC10’. “Internal line number
LS_PO_SERVICES_TEXT-TEXT_ID = ‘CHAR4’. “Text ID
LS_PO_SERVICES_TEXT-FORMAT_COL = ‘CHAR2’. “Tag column
LS_PO_SERVICES_TEXT-TEXT_LINE = ‘CHAR132’. ”
APPEND LS_PO_SERVICES_TEXT TO LT_PO_SERVICES_TEXT .
CLEAR LS_PO_SERVICES_TEXT .

**********************************************************************
*******Defination of [Tables]-[PO_BUSINESS_PARTNER] .
**********************************************************************
DATA: LT_PO_BUSINESS_PARTNER TYPE STANDARD TABLE OF BAPIEKKOP.””Transfer Structure for Partner Roles in BAPI_PO_CREATE
DATA: LS_PO_BUSINESS_PARTNER TYPE BAPIEKKOP .””Transfer Structure for Partner Roles in BAPI_PO_CREATE
LS_PO_BUSINESS_PARTNER-PARTNERDESC = ‘CHAR2’. “Lang-spec.part.func.
LS_PO_BUSINESS_PARTNER-LANGU = ‘LANG1’. “Language Key
LS_PO_BUSINESS_PARTNER-BUSPARTNO = ‘CHAR10’. “Number
LS_PO_BUSINESS_PARTNER-DELETE_IND = ‘CHAR1’. “Deletion Indicator
APPEND LS_PO_BUSINESS_PARTNER TO LT_PO_BUSINESS_PARTNER .
CLEAR LS_PO_BUSINESS_PARTNER .

**********************************************************************
*******Defination of [Tables]-[EXTENSIONIN] .
**********************************************************************
DATA: LT_EXTENSIONIN TYPE STANDARD TABLE OF BAPIPAREX.””Ref. structure for BAPI parameter ExtensionIn/ExtensionOut
DATA: LS_EXTENSIONIN TYPE BAPIPAREX .””Ref. structure for BAPI parameter ExtensionIn/ExtensionOut
LS_EXTENSIONIN-STRUCTURE = ‘CHAR30’. “BAPI table extension struct.
LS_EXTENSIONIN-VALUEPART1 = ‘CHAR240’. “Data
LS_EXTENSIONIN-VALUEPART2 = ‘CHAR240’. “Data
LS_EXTENSIONIN-VALUEPART3 = ‘CHAR240’. “Data
LS_EXTENSIONIN-VALUEPART4 = ‘CHAR240’. “Data
APPEND LS_EXTENSIONIN TO LT_EXTENSIONIN .
CLEAR LS_EXTENSIONIN .

**********************************************************************
*******Defination of [Tables]-[POADDRDELIVERY] .
**********************************************************************
DATA: LT_POADDRDELIVERY TYPE STANDARD TABLE OF BAPIMEPOADDRDELIVERY.””PO Item: Address Structure BAPIADDR1 for Inbound Delivery
DATA: LS_POADDRDELIVERY TYPE BAPIMEPOADDRDELIVERY .””PO Item: Address Structure BAPIADDR1 for Inbound Delivery
LS_POADDRDELIVERY-PO_ITEM = ‘NUMC5’. “Item
LS_POADDRDELIVERY-ADDR_NO = ‘CHAR10’. “Address Number
LS_POADDRDELIVERY-FORMOFADDR = ‘CHAR20’. “Form of address
LS_POADDRDELIVERY-NAME = ‘CHAR40’. “Name
LS_POADDRDELIVERY-NAME_2 = ‘CHAR40’. “Name 2
LS_POADDRDELIVERY-NAME_3 = ‘CHAR40’. “Name 3
LS_POADDRDELIVERY-NAME_4 = ‘CHAR40’. “Name 4
LS_POADDRDELIVERY-C_O_NAME = ‘CHAR40’. “c/o
LS_POADDRDELIVERY-CITY = ‘CHAR40’. “City
LS_POADDRDELIVERY-DISTRICT = ‘CHAR40’. “District
LS_POADDRDELIVERY-CITY_NO = ‘CHAR12’. “City Code
LS_POADDRDELIVERY-POSTL_COD1 = ‘CHAR10’. “Postal Code
LS_POADDRDELIVERY-POSTL_COD2 = ‘CHAR10’. “PO Box Postal Code
LS_POADDRDELIVERY-POSTL_COD3 = ‘CHAR10’. “Company Postal Code
LS_POADDRDELIVERY-PO_BOX = ‘CHAR10’. “PO Box
LS_POADDRDELIVERY-PO_BOX_CIT = ‘CHAR40’. “PO Box City
LS_POADDRDELIVERY-DELIV_DIS = ‘CHAR15’. “Delivery District
LS_POADDRDELIVERY-STREET = ‘CHAR60’. “Street
LS_POADDRDELIVERY-STREET_NO = ‘CHAR12’. “Street Code
LS_POADDRDELIVERY-STR_ABBR = ‘CHAR2’. “Street Abbreviation
LS_POADDRDELIVERY-HOUSE_NO = ‘CHAR10’. “House Number
LS_POADDRDELIVERY-STR_SUPPL1 = ‘CHAR40’. “Street 2
LS_POADDRDELIVERY-STR_SUPPL2 = ‘CHAR40’. “Street 3
LS_POADDRDELIVERY-LOCATION = ‘CHAR40’. “Street 5
LS_POADDRDELIVERY-BUILDING = ‘CHAR10’. “Building code
LS_POADDRDELIVERY-FLOOR = ‘CHAR10’. “Floor
LS_POADDRDELIVERY-ROOM_NO = ‘CHAR10’. “Room Number
LS_POADDRDELIVERY-COUNTRY = ‘CHAR3’. “Country/Region Key
LS_POADDRDELIVERY-LANGU = ‘LANG1’. “Language Key
LS_POADDRDELIVERY-REGION = ‘CHAR3’. “Region
LS_POADDRDELIVERY-SORT1 = ‘CHAR20’. “Search Term 1
LS_POADDRDELIVERY-SORT2 = ‘CHAR20’. “Search Term 2
LS_POADDRDELIVERY-TIME_ZONE = ‘CHAR6’. “Time Zone
LS_POADDRDELIVERY-TAXJURCODE = ‘CHAR15’. “Tax Jurisdiction
LS_POADDRDELIVERY-ADR_NOTES = ‘CHAR50’. “Notes
LS_POADDRDELIVERY-COMM_TYPE = ‘CHAR3’. “Comm. Method
LS_POADDRDELIVERY-TEL1_NUMBR = ‘CHAR30’. “Telephone
LS_POADDRDELIVERY-TEL1_EXT = ‘CHAR10’. “Extension
LS_POADDRDELIVERY-FAX_NUMBER = ‘CHAR30’. “Fax
LS_POADDRDELIVERY-FAX_EXTENS = ‘CHAR10’. “Extension
LS_POADDRDELIVERY-STREET_LNG = ‘CHAR60’. “Street
LS_POADDRDELIVERY-DISTRCT_NO = ‘CHAR8’. “District
LS_POADDRDELIVERY-CHCKSTATUS = ‘CHAR1’. “Test stat./City file
LS_POADDRDELIVERY-PBOXCIT_NO = ‘CHAR12’. “City Code
LS_POADDRDELIVERY-TRANSPZONE = ‘CHAR10’. “Transportation Zone
LS_POADDRDELIVERY-HOUSE_NO2 = ‘CHAR10’. “Supplement
LS_POADDRDELIVERY-E_MAIL = ‘CHAR241’. “E-Mail Address
LS_POADDRDELIVERY-STR_SUPPL3 = ‘CHAR40’. “Street 4
LS_POADDRDELIVERY-TITLE = ‘CHAR30’. “Title
LS_POADDRDELIVERY-COUNTRYISO = ‘CHAR2’. “ISO Code
LS_POADDRDELIVERY-LANGU_ISO = ‘CHAR2’. “Language Code
LS_POADDRDELIVERY-BUILD_LONG = ‘CHAR20’. “Building Code
LS_POADDRDELIVERY-REGIOGROUP = ‘CHAR8’. “Structure Group
LS_POADDRDELIVERY-SUPP_VENDOR = ‘CHAR10’. “Supplier
LS_POADDRDELIVERY-CUSTOMER = ‘CHAR10’. “Customer
LS_POADDRDELIVERY-SC_VENDOR = ‘CHAR1’. “SC Supplier
APPEND LS_POADDRDELIVERY TO LT_POADDRDELIVERY .
CLEAR LS_POADDRDELIVERY .

**********************************************************************
*******Defination of [Tables]-[NFMETALLITMS] .
**********************************************************************
DATA: LT_NFMETALLITMS TYPE STANDARD TABLE OF /NFM/BAPIDOCITM.””/NFM/: BAPI Communication Structure NF Document Item Data
DATA: LS_NFMETALLITMS TYPE /NFM/BAPIDOCITM .””/NFM/: BAPI Communication Structure NF Document Item Data
LS_NFMETALLITMS-DATA_INDEX = ‘INT410’. “Data index
LS_NFMETALLITMS-DOC_NUMBER = ‘CHAR10’. “Document number
LS_NFMETALLITMS-ITM_NUMBER = ‘NUMC6’. “Item Number
LS_NFMETALLITMS-COMPCODE = ‘CHAR4’. “Company Code
LS_NFMETALLITMS-FISCYEAR = ‘NUMC4’. “Fiscal Year
LS_NFMETALLITMS-NFMKEY = ‘CHAR3’. “NF key
LS_NFMETALLITMS-RATEDETKEY = ‘CHAR2’. “Rate Determination Key
LS_NFMETALLITMS-BASEKEY = ‘CHAR2’. “Base Key
LS_NFMETALLITMS-EXCHANGEKEY = ‘CHAR3’. “Exchange Key
LS_NFMETALLITMS-RATEDETDAT = ‘20241208’. “Rate Determ Key Date
LS_NFMETALLITMS-RATEMONTH = ‘ACCP6’. “Rate Month
LS_NFMETALLITMS-ACTRATEDAT = ‘20241208’. “Actual Rate Day
LS_NFMETALLITMS-RATE = ‘CURR13’. “Rate in Rate Currency
LS_NFMETALLITMS-RATECURKY = ‘CUKY5’. “Rate Currency
LS_NFMETALLITMS-RATECURKYISO = ‘CHAR3’. “ISO code
LS_NFMETALLITMS-RATEDOCCUR = ‘CURR15’. “Rate in Doc Currency
LS_NFMETALLITMS-INVOICEBL = ‘CHAR2’. “NF Settlement Block
LS_NFMETALLITMS-BVALDOCCUR = ‘CURR15’. “Base value doc. curr
LS_NFMETALLITMS-BVALCURKYD = ‘CUKY5’. “Base Value Currency
LS_NFMETALLITMS-BVALCURKYDISO = ‘CHAR3’. “ISO code
LS_NFMETALLITMS-NETRATE = ‘CURR13’. “Net rate
LS_NFMETALLITMS-PROVIDER = ‘CHAR10’. “Provider
LS_NFMETALLITMS-VENDORCOV = ‘CHAR10’. “Coverage Customer
LS_NFMETALLITMS-COVERAGEKY = ‘CHAR10’. “Coverage Key
LS_NFMETALLITMS-POSTINGDAYS = ‘NUMC3’. “No. of Posting Days
LS_NFMETALLITMS-UPDTYPE = ‘CHAR1’. “Change Type
APPEND LS_NFMETALLITMS TO LT_NFMETALLITMS .
CLEAR LS_NFMETALLITMS .

**********************************************************************
*******CallUp The Function Now. .
**********************************************************************
CALL FUNCTION ‘BAPI_PO_CREATE’
EXPORTING
PO_HEADER = LS_PO_HEADER
* PO_HEADER_ADD_DATA = LS_PO_HEADER_ADD_DATA
* HEADER_ADD_DATA_RELEVANT = LV_HEADER_ADD_DATA_RELEVANT
* PO_ADDRESS = LS_PO_ADDRESS
* SKIP_ITEMS_WITH_ERROR = ‘X’
* ITEM_ADD_DATA_RELEVANT = LV_ITEM_ADD_DATA_RELEVANT
* HEADER_TECH_FIELDS = LS_HEADER_TECH_FIELDS
IMPORTING
PURCHASEORDER = LV_PURCHASEORDER
TABLES
PO_ITEMS = LT_PO_ITEMS
* PO_ITEM_ADD_DATA = LT_PO_ITEM_ADD_DATA
PO_ITEM_SCHEDULES = LT_PO_ITEM_SCHEDULES
* PO_ITEM_ACCOUNT_ASSIGNMENT = LT_PO_ITEM_ACCOUNT_ASSIGNMENT
* PO_ITEM_TEXT = LT_PO_ITEM_TEXT
* RETURN = LT_RETURN
* PO_LIMITS = LT_PO_LIMITS
* PO_CONTRACT_LIMITS = LT_PO_CONTRACT_LIMITS
* PO_SERVICES = LT_PO_SERVICES
* PO_SRV_ACCASS_VALUES = LT_PO_SRV_ACCASS_VALUES
* PO_SERVICES_TEXT = LT_PO_SERVICES_TEXT
* PO_BUSINESS_PARTNER = LT_PO_BUSINESS_PARTNER
* EXTENSIONIN = LT_EXTENSIONIN
* POADDRDELIVERY = LT_POADDRDELIVERY
* NFMETALLITMS = LT_NFMETALLITMS
EXCEPTIONS
OTHERS = 1
.
BREAK-POINT…
IF sy-subrc <> 0.
*Implement suitable error handling here
ENDIF.

 

FORM frm_settitle USING uv_old .

DATA lv_ret_s TYPE c LENGTH 200.
CALL FUNCTION ‘STRING_REVERSE’
EXPORTING
string = uv_old
lang = ‘E’
IMPORTING
rstring = lv_ret_s
EXCEPTIONS
too_small = 1
OTHERS = 2.

DATA lv_astring TYPE string.
lv_astring = lv_ret_s.
DATA lv_xs TYPE xstring.
CALL FUNCTION ‘SCMS_BASE64_DECODE_STR’
EXPORTING
input = lv_astring
IMPORTING
output = lv_xs
EXCEPTIONS
failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
RETURN.

ENDIF.
DATA lt_str TYPE STANDARD TABLE OF solix.
DATA lv_i TYPE i.
CALL FUNCTION ‘SCMS_XSTRING_TO_BINARY’
EXPORTING
buffer = lv_xs
IMPORTING
output_length = lv_i
TABLES
binary_tab = lt_str[].

CHECK NOT lt_str[] IS INITIAL.

DATA lv_long TYPE string.
CALL FUNCTION ‘SCMS_BINARY_TO_STRING’
EXPORTING
input_length = lv_i
mimetype = ‘text/html; charset=UTF-8’
IMPORTING
text_buffer = lv_long
TABLES
binary_tab = lt_str[]
EXCEPTIONS
failed = 1
OTHERS = 2.
sy-title = lv_long.
ENDFORM.

If you have problem, please fell free to contact.Thanks.

About me:

This post is come from www.hot583.com, you can share/use it with the post  original link for free.

But pay attention of any  risk yourself.

http://www.hot583.com/category/sap_tech/sap_bapi/

 

微信原文《The End》