<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: creating purchase order in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787108#M338897</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is BAPI for creation of Purchase Order which is 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or else U can write a BDC for the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Ramesh Babu Chirumamilla&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 22 Dec 2006 13:28:41 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-12-22T13:28:41Z</dc:date>
    <item>
      <title>creating purchase order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787106#M338895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;help me to create purchase order through bapi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Dec 2006 13:20:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787106#M338895</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-22T13:20:11Z</dc:date>
    </item>
    <item>
      <title>Re: creating purchase order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787107#M338896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;Try this,&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT ZTEST_BAPI .

*- BAPI related declarations
DATA  : g_pohdr TYPE bapimepoheader,
        g_pohdrx TYPE bapimepoheaderx,
        gt_poitem TYPE TABLE OF bapimepoitem,
        gt_poitemx TYPE TABLE OF bapimepoitemx,
        gt_posched TYPE TABLE OF bapimeposchedule,
        gt_poschedx TYPE TABLE OF bapimeposchedulx,
        gt_poacct TYPE TABLE OF bapimepoaccount,
        gt_poacctx TYPE TABLE OF bapimepoaccountx,
        gt_poservice TYPE TABLE OF bapiesllc,
        gt_posrvacc TYPE TABLE OF bapiesklc,
        gt_return TYPE TABLE OF bapiret2.


    perform prepare_header.
    PERFORM prepare_items.
    PERFORM prepare_schedule.
    perform create_po.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  prepare_header
*&amp;amp;---------------------------------------------------------------------*
* Set up header structure
*----------------------------------------------------------------------*
FORM prepare_header.
  g_pohdr-comp_code = '2000'.
  g_pohdrx-comp_code = 'X'.
* set up doc type

  g_pohdr-doc_type = 'NB'.
  g_pohdrx-doc_type = 'X'.

  g_pohdr-vendor = '0008000330'.
  g_pohdrx-vendor = 'X'.

  g_pohdr-langu = sy-langu.
  g_pohdrx-langu = 'X'.

  g_pohdr-purch_org = 'BA01'.
  g_pohdrx-purch_org = 'X'.

  g_pohdr-pur_group = '800'.
  g_pohdrx-pur_group = 'X'.

  g_pohdr-currency = 'USD'.
  g_pohdrx-currency = 'X'.

ENDFORM.                    " prepare_header

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  prepare_items
*&amp;amp;---------------------------------------------------------------------*
* Set up item values
*----------------------------------------------------------------------*
FORM prepare_items.
  DATA : ls_poitem TYPE bapimepoitem,
         ls_poitemx TYPE bapimepoitemx.

  ls_poitem-po_item = '00010'.
  ls_poitemx-po_item = '00010'.
  ls_poitemx-po_itemx = 'X'.

    ls_poitem-short_text = 'ABSORBER,SHOCK:PALLETIZER'.
    ls_poitemx-short_text = 'X'.

    ls_poitem-material = '000000000001070062'.
    ls_poitemx-material = 'X'.

  ls_poitem-vend_mat = 'xyz'.
  ls_poitemx-vend_mat = 'X'.

  ls_poitem-quantity = '100'.
  ls_poitemx-quantity = 'X'.

  ls_poitem-po_unit = 'EA'.
  ls_poitemx-po_unit = 'X'.

  ls_poitem-po_unit_iso = 'EA'.
  ls_poitemx-po_unit_iso = 'X'.

  ls_poitem-net_price = '6.32'.
  ls_poitemx-net_price = 'X'.

  ls_poitem-price_unit = '1'.
  ls_poitemx-price_unit = 'X'.

  ls_poitem-item_cat = 'D'.
  ls_poitemx-item_cat = 'X'.

  ls_poitem-plant = '1575'.
  ls_poitemx-plant = 'X'.

  ls_poitem-ACCTASSCAT = 'K'.
  ls_poitemx-ACCTASSCAT = 'X'.

*  ls_poitem-acctasscat = &amp;lt;fs_req&amp;gt;-knttp.
*  ls_poitemx-acctasscat = 'X'.
*
*  ls_poitem-distrib = &amp;lt;fs_req&amp;gt;-vrtkz.
*  ls_poitemx-distrib = 'X'.
*
*  ls_poitem-part_inv = &amp;lt;fs_req&amp;gt;-twrkz.
*  ls_poitemx-part_inv = 'X'.
*
*  ls_poitem-gr_ind = &amp;lt;fs_req&amp;gt;-wepos.
*  ls_poitemx-gr_ind = 'X'.
*
*  ls_poitem-gr_non_val = &amp;lt;fs_req&amp;gt;-weunb.
*  ls_poitemx-gr_non_val = 'X'.
*
*  ls_poitem-ir_ind = &amp;lt;fs_req&amp;gt;-repos.
*  ls_poitemx-ir_ind = 'X'.

*  ls_poitem-agreement = &amp;lt;fs_req&amp;gt;-konnr.
*  ls_poitemx-agreement = 'X'.
*
*  ls_poitem-agmt_item = &amp;lt;fs_req&amp;gt;-ktpnr.
*  ls_poitemx-agmt_item = 'X'.
*
*  ls_poitem-preq_no = &amp;lt;fs_req&amp;gt;-banfn.
*  ls_poitemx-preq_no = 'X'.
*
*  ls_poitem-preq_item = &amp;lt;fs_req&amp;gt;-bnfpo.
*  ls_poitemx-preq_item = 'X'.
*
*  ls_poitem-preq_name = &amp;lt;fs_req&amp;gt;-afnam.
*  ls_poitemx-preq_name = 'X'.
*
*  ls_poitem-pckg_no = &amp;lt;fs_req&amp;gt;-packno.
*  ls_poitemx-pckg_no = 'X'.

  APPEND : ls_poitem TO gt_poitem,
           ls_poitemx TO gt_poitemx.
ENDFORM.                    " prepare_items
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  prepare_schedule
*&amp;amp;---------------------------------------------------------------------*
*  Schedule data
*----------------------------------------------------------------------*
FORM prepare_schedule.
  DATA : ls_posched TYPE bapimeposchedule,
         ls_poschedx TYPE bapimeposchedulx.

  ls_poschedx-po_item = '00010'.
  ls_posched-po_item = '00010'.
  ls_poschedx-po_itemx = 'X'.

  ls_posched-delivery_date = '10/31/2005'.
  ls_poschedx-delivery_date = 'X'.

  ls_posched-quantity = '100'.
  ls_poschedx-quantity = 'X'.

*  ls_posched-preq_no = &amp;lt;fs_req&amp;gt;-banfn.
*  ls_poschedx-preq_no = 'X'.
*
*  ls_posched-preq_item = &amp;lt;fs_req&amp;gt;-bnfpo.
*  ls_poschedx-preq_item = 'X'.

  APPEND : ls_posched TO gt_posched,
           ls_poschedx TO gt_poschedx.

ENDFORM.                    " prepare_schedule
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  create_po
*&amp;amp;---------------------------------------------------------------------*
*       Create PO with ref to the req
*----------------------------------------------------------------------*
FORM create_po.
  DATA : lt_return TYPE TABLE OF bapiret2,
         l_ponum TYPE banfn.

  CALL FUNCTION 'BAPI_PO_CREATE1'
       EXPORTING
            poheader          = g_pohdr
            poheaderx         = g_pohdrx
*            testrun           = 'X'
       IMPORTING
            exppurchaseorder  = l_ponum
       TABLES
            return            = lt_return
            poitem            = gt_poitem
            poitemx           = gt_poitemx
            poschedule        = gt_posched
            poschedulex       = gt_poschedx
            poaccount         = gt_poacct
            poaccountx        = gt_poacctx
            poservices        = gt_poservice
            posrvaccessvalues = gt_posrvacc.

  APPEND LINES OF lt_return TO gt_return.
  IF NOT l_ponum IS INITIAL.
    MESSAGE s398(00) WITH 'Purchase document ' l_ponum
                  ' successfully created'.
  ENDIF.
ENDFORM.                    " create_po
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Raghav&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Dec 2006 13:26:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787107#M338896</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-22T13:26:43Z</dc:date>
    </item>
    <item>
      <title>Re: creating purchase order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787108#M338897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is BAPI for creation of Purchase Order which is 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or else U can write a BDC for the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Ramesh Babu Chirumamilla&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Dec 2006 13:28:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787108#M338897</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-22T13:28:41Z</dc:date>
    </item>
    <item>
      <title>Re: creating purchase order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787109#M338898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  z_po_create NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                       MESSAGE-ID z0lo_scm&lt;/P&gt;&lt;P&gt;                       LINE-SIZE 132&lt;/P&gt;&lt;P&gt;                       LINE-COUNT 65 .&lt;/P&gt;&lt;P&gt;TABLES : ekko,&lt;/P&gt;&lt;P&gt;         ekpo.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;D A T A  D E C L A R A T I O N S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;*--Type declaration to store data read from table EKKO.&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;        ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;        bukrs TYPE ekko-bukrs,&lt;/P&gt;&lt;P&gt;        bsart TYPE ekko-bsart,&lt;/P&gt;&lt;P&gt;        aedat TYPE ekko-aedat,&lt;/P&gt;&lt;P&gt;        ernam TYPE ekko-ernam,&lt;/P&gt;&lt;P&gt;        lifnr TYPE ekko-lifnr,&lt;/P&gt;&lt;P&gt;        ekorg TYPE ekko-ekorg,&lt;/P&gt;&lt;P&gt;        ekgrp TYPE ekko-ekgrp,&lt;/P&gt;&lt;P&gt;        spras TYPE ekko-spras,&lt;/P&gt;&lt;P&gt;        werks TYPE ekpo-werks,&lt;/P&gt;&lt;P&gt;   END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Type declaration to store data read from table EKPO.&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_ekpo,&lt;/P&gt;&lt;P&gt;        ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;        ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;        matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;        werks TYPE ekpo-werks,&lt;/P&gt;&lt;P&gt;        lgort TYPE ekpo-lgort,&lt;/P&gt;&lt;P&gt;        menge TYPE ekpo-menge,&lt;/P&gt;&lt;P&gt;        knttp TYPE ekpo-knttp,&lt;/P&gt;&lt;P&gt;        matkl TYPE ekpo-matkl,&lt;/P&gt;&lt;P&gt;        bednr TYPE ekpo-bednr,&lt;/P&gt;&lt;P&gt;        afnam TYPE ekpo-afnam,&lt;/P&gt;&lt;P&gt;        meins TYPE ekpo-meins,&lt;/P&gt;&lt;P&gt;        bpumz TYPE ekpo-bpumz,&lt;/P&gt;&lt;P&gt;        bpumn TYPE ekpo-bpumn,&lt;/P&gt;&lt;P&gt;        netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;        peinh TYPE ekpo-peinh,&lt;/P&gt;&lt;P&gt;        webaz TYPE ekpo-webaz,&lt;/P&gt;&lt;P&gt;   END OF t_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Type declaration to store data read from table LFA1.&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_lfa1,&lt;/P&gt;&lt;P&gt;        lifnr TYPE lfa1-lifnr,&lt;/P&gt;&lt;P&gt;        land1 TYPE lfa1-land1,&lt;/P&gt;&lt;P&gt;    END OF t_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_head_item,&lt;/P&gt;&lt;P&gt;        ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;        bukrs TYPE ekko-bukrs,&lt;/P&gt;&lt;P&gt;        bsart TYPE ekko-bsart,&lt;/P&gt;&lt;P&gt;        aedat TYPE ekko-aedat,&lt;/P&gt;&lt;P&gt;        ernam TYPE ekko-ernam,&lt;/P&gt;&lt;P&gt;        lifnr TYPE ekko-lifnr,&lt;/P&gt;&lt;P&gt;        ekorg TYPE ekko-ekorg,&lt;/P&gt;&lt;P&gt;        ekgrp TYPE ekko-ekgrp,&lt;/P&gt;&lt;P&gt;        spras TYPE ekko-spras,&lt;/P&gt;&lt;P&gt;        pincr TYPE ekko-pincr,&lt;/P&gt;&lt;P&gt;        zterm TYPE ekko-zterm,&lt;/P&gt;&lt;P&gt;        waers TYPE ekko-waers,&lt;/P&gt;&lt;P&gt;        inco1 TYPE ekko-inco1,&lt;/P&gt;&lt;P&gt;        inco2 TYPE ekko-inco2,&lt;/P&gt;&lt;P&gt;        bedat TYPE ekko-bedat,&lt;/P&gt;&lt;P&gt;        ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;        txz01 TYPE ekpo-txz01,&lt;/P&gt;&lt;P&gt;        matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;        werks TYPE ekpo-werks,&lt;/P&gt;&lt;P&gt;        lgort TYPE ekpo-lgort,&lt;/P&gt;&lt;P&gt;        menge TYPE ekpo-menge,&lt;/P&gt;&lt;P&gt;        knttp TYPE ekpo-knttp,&lt;/P&gt;&lt;P&gt;        matkl TYPE ekpo-matkl,&lt;/P&gt;&lt;P&gt;        bednr TYPE ekpo-bednr,&lt;/P&gt;&lt;P&gt;        afnam TYPE ekpo-afnam,&lt;/P&gt;&lt;P&gt;        meins TYPE ekpo-meins,&lt;/P&gt;&lt;P&gt;        bpumz TYPE ekpo-bpumz,&lt;/P&gt;&lt;P&gt;        bpumn TYPE ekpo-bpumn,&lt;/P&gt;&lt;P&gt;        netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;        peinh TYPE ekpo-peinh,&lt;/P&gt;&lt;P&gt;        webaz TYPE ekpo-webaz,&lt;/P&gt;&lt;P&gt;        mwskz TYPE ekpo-mwskz,&lt;/P&gt;&lt;P&gt;        adrnr TYPE ekpo-adrnr,&lt;/P&gt;&lt;P&gt;  END OF t_head_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Type declaration to store data read from table EKPO.&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_sucess,&lt;/P&gt;&lt;P&gt;        ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;    END OF t_sucess.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_ekko_ekpo,&lt;/P&gt;&lt;P&gt;        ebeln TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;        lifnr TYPE ekko-lifnr,&lt;/P&gt;&lt;P&gt;        inco1 TYPE ekko-inco1,&lt;/P&gt;&lt;P&gt;        inco2 TYPE ekko-inco2,&lt;/P&gt;&lt;P&gt;        zterm TYPE ekko-zterm,&lt;/P&gt;&lt;P&gt;        waers TYPE ekko-waers,&lt;/P&gt;&lt;P&gt;        ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;        matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;        netpr TYPE ekpo-netpr,       " Net price&lt;/P&gt;&lt;P&gt;        peinh TYPE ekpo-peinh,       " price per unit&lt;/P&gt;&lt;P&gt;        mwskz TYPE ekpo-mwskz,       " Tax Code&lt;/P&gt;&lt;P&gt;        knttp TYPE ekpo-knttp,       " Account ass cata&lt;/P&gt;&lt;P&gt;        bednr TYPE ekpo-bednr,&lt;/P&gt;&lt;P&gt;    END OF t_ekko_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Type declaration to store data for error log.&lt;/P&gt;&lt;P&gt;TYPES:  BEGIN OF t_err_log,&lt;/P&gt;&lt;P&gt;    ebeln        TYPE ebeln,   " Purchase order no.&lt;/P&gt;&lt;P&gt;    type(4)      TYPE c,       " Message Type&lt;/P&gt;&lt;P&gt;    number(5)    TYPE c,       " Message Number&lt;/P&gt;&lt;P&gt;    message(100) TYPE c,       " Message Desp&lt;/P&gt;&lt;P&gt;  END OF t_err_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Type declaration to store data for success log.&lt;/P&gt;&lt;P&gt;TYPES :BEGIN OF t_succ_log,&lt;/P&gt;&lt;P&gt;  ebeln        TYPE ebeln,   " Purchase order no.&lt;/P&gt;&lt;P&gt;  type(4)      TYPE c,       " Message Type&lt;/P&gt;&lt;P&gt;  number(5)    TYPE c,       " Message Number&lt;/P&gt;&lt;P&gt;  message(100) TYPE c,       " Message Desp&lt;/P&gt;&lt;P&gt;END OF t_succ_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_contracts_tmp OCCURS 0,&lt;/P&gt;&lt;P&gt;       ebeln LIKE ekko-ebeln,&lt;/P&gt;&lt;P&gt;   END OF it_contracts_tmp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_mul_cont,&lt;/P&gt;&lt;P&gt;        ebeln LIKE ekko-ebeln,&lt;/P&gt;&lt;P&gt;        matnr LIKE ekpo-matnr,&lt;/P&gt;&lt;P&gt;    END OF t_mul_cont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_delivery_address,&lt;/P&gt;&lt;P&gt;        addrnumber LIKE adrc-addrnumber,&lt;/P&gt;&lt;P&gt;        name1 LIKE adrc-name1,&lt;/P&gt;&lt;P&gt;        name2 LIKE adrc-name2,&lt;/P&gt;&lt;P&gt;        street LIKE adrc-street,&lt;/P&gt;&lt;P&gt;        house_num1 LIKE adrc-house_num1,&lt;/P&gt;&lt;P&gt;        city1 LIKE adrc-city1,&lt;/P&gt;&lt;P&gt;        city2 LIKE adrc-city2,&lt;/P&gt;&lt;P&gt;        post_code1 LIKE adrc-post_code1,&lt;/P&gt;&lt;P&gt;        country LIKE adrc-country,&lt;/P&gt;&lt;P&gt;        region LIKE adrc-region,&lt;/P&gt;&lt;P&gt;  END OF t_delivery_address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_plant_adrnr,&lt;/P&gt;&lt;P&gt;        werks LIKE t001w-werks,&lt;/P&gt;&lt;P&gt;        adrnr LIKE t001w-adrnr,&lt;/P&gt;&lt;P&gt;   END OF t_plant_adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Variables declarations.&lt;/P&gt;&lt;P&gt;DATA : v_ebeln TYPE ekko-ebeln,          "PO Number&lt;/P&gt;&lt;P&gt;       v_bsart TYPE ekko-bsart,&lt;/P&gt;&lt;P&gt;       v_ekorg TYPE ekko-ekorg,          "Purchasing Organization&lt;/P&gt;&lt;P&gt;       v_ekgrp TYPE ekko-ekgrp,          "Purchasing group&lt;/P&gt;&lt;P&gt;       v_lifnr TYPE ekko-lifnr,          "Vendor Number&lt;/P&gt;&lt;P&gt;       v_werks TYPE ekpo-werks,          "Plant&lt;/P&gt;&lt;P&gt;       v_matnr TYPE ekpo-matnr,          "Material Number&lt;/P&gt;&lt;P&gt;       v_infnr TYPE ekpo-infnr,          "Agreement&lt;/P&gt;&lt;P&gt;       v_succ_po TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;       v_bukrs TYPE ekko-ebeln,&lt;/P&gt;&lt;P&gt;       v_werks1 TYPE ekpo-werks,          "Plant&lt;/P&gt;&lt;P&gt;       v_ekorg1 TYPE ekko-ekorg,          "Purchasing Organization&lt;/P&gt;&lt;P&gt;       v_ekgrp1 TYPE ekko-ekgrp,          "Purchasing group&lt;/P&gt;&lt;P&gt;       v_bsart1 TYPE ekko-bsart,&lt;/P&gt;&lt;P&gt;       v_konnr TYPE ekpo-konnr,&lt;/P&gt;&lt;P&gt;       v_title   TYPE sytitle.           " Title&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Constants declarations.&lt;/P&gt;&lt;P&gt;CONSTANTS: c_bstyp TYPE ekpo-bstyp VALUE 'K',&lt;/P&gt;&lt;P&gt;           c_bstyp1 TYPE ekpo-bstyp VALUE 'F',&lt;/P&gt;&lt;P&gt;           c_x VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;D A T A  D E C L A R A T I O N S FOR BAPI&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for Purchase Order Header Data&lt;/P&gt;&lt;P&gt;DATA : x_poheader    TYPE bapimepoheader,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for Purchase Order Header Data (Change Toolbar)&lt;/P&gt;&lt;P&gt;  x_poheaderx   TYPE bapimepoheaderx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for Purchase Order Item Data&lt;/P&gt;&lt;P&gt;  x_poitem      TYPE bapimepoitem,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for Purchase Order Item Data (Change Toolbar)&lt;/P&gt;&lt;P&gt;  x_poitemx     TYPE bapimepoitemx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for messages&lt;/P&gt;&lt;P&gt;  x_return      TYPE bapiret2,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Structure for the error log&lt;/P&gt;&lt;P&gt;  x_err_log     TYPE t_err_log,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Structure for sucess log&lt;/P&gt;&lt;P&gt;  x_succ_log TYPE t_err_log,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Delivery address&lt;/P&gt;&lt;P&gt;x_deliveryaddr TYPE bapimepoaddrdelivery,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for Purchase Order Export/Import: Item Data&lt;/P&gt;&lt;P&gt;  x_poexpimpitem   TYPE bapieipo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for PO Export/Import: Item Data (Change Toolbar)&lt;/P&gt;&lt;P&gt;  x_poexpimpitemx    TYPE bapieipox.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI internal table containing purchase order item&lt;/P&gt;&lt;P&gt;DATA : it_poitem TYPE STANDARD TABLE OF bapimepoitem,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI internal table containing PO item data (Change Toolbar)&lt;/P&gt;&lt;P&gt;  it_poitemx TYPE STANDARD TABLE OF bapimepoitemx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI Return table containing messages&lt;/P&gt;&lt;P&gt;  it_return TYPE STANDARD TABLE OF bapiret2,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  it_deliveryaddr TYPE STANDARD TABLE OF bapimepoaddrdelivery,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for Purchase Order Export/Import: Item Data&lt;/P&gt;&lt;P&gt;  it_poexpimpitem   TYPE STANDARD TABLE OF bapieipo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-BAPI structure for PO Export/Import: Item Data(change tool)&lt;/P&gt;&lt;P&gt;  it_poexpimpitemx  TYPE STANDARD TABLE OF bapieipox.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I N T E R N A L   T A B L E   D E C L E R A T I O N S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;DATA: it_ekko_dest TYPE STANDARD TABLE OF t_ekko WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;**-Internal table for fetching PO's&lt;/P&gt;&lt;P&gt;      it_head_item TYPE STANDARD TABLE OF t_head_item WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;**-Internal table for fetching Contract number&lt;/P&gt;&lt;P&gt;      it_ekko_ekpo TYPE STANDARD TABLE OF t_ekko_ekpo WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;**-Internal table for fetching created PO's&lt;/P&gt;&lt;P&gt;      it_sucess TYPE STANDARD TABLE OF t_sucess WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;**-Internal table for PO's which doesnot have contracts&lt;/P&gt;&lt;P&gt;      it_contract TYPE STANDARD TABLE OF t_sucess WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;**-internal table for fetching vendor details&lt;/P&gt;&lt;P&gt;      it_lfa1 TYPE STANDARD TABLE OF t_lfa1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;**-internal table for fetching Delivery address details&lt;/P&gt;&lt;P&gt;      it_delivery_address TYPE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;      t_delivery_address WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;**-internal table for fetching Plant details&lt;/P&gt;&lt;P&gt;      it_plant_adrnr TYPE STANDARD TABLE OF t_plant_adrnr WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;**-Internal table containing error messages for PO Create&lt;/P&gt;&lt;P&gt;      it_err_log    TYPE STANDARD TABLE OF t_err_log,&lt;/P&gt;&lt;P&gt;**-Internal table containing error messages for PO Change&lt;/P&gt;&lt;P&gt;      it_err_chg_log TYPE STANDARD TABLE OF t_err_log,&lt;/P&gt;&lt;P&gt;**-Internal table containing sucess messages for po create&lt;/P&gt;&lt;P&gt;      it_succ_log TYPE STANDARD TABLE OF t_succ_log,&lt;/P&gt;&lt;P&gt;**-Internal table containing success messages for PO change&lt;/P&gt;&lt;P&gt;      it_succ_chg_log TYPE STANDARD TABLE OF t_succ_log,&lt;/P&gt;&lt;P&gt;**-Internal table containing Multiple contract numbers&lt;/P&gt;&lt;P&gt;      it_po_matnr_mul_cont TYPE STANDARD TABLE OF t_mul_cont WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal table for bdcdata&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I N C L U D E  P R O G R A M&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zzuti_std_header_footer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S E L E C T I O N  S C R E E N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Selection criteria&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:s_ebeln FOR ekko-ebeln,                    "PO Number&lt;/P&gt;&lt;P&gt;               s_bsart FOR ekko-bsart DEFAULT 'ZHBV',     "PO Type&lt;/P&gt;&lt;P&gt;               s_aedat FOR ekko-aedat DEFAULT sy-datum,   "Creation Date&lt;/P&gt;&lt;P&gt;               s_ekorg FOR ekko-ekorg,                    "Purchasing Organization&lt;/P&gt;&lt;P&gt;               s_ekgrp FOR ekko-ekgrp,                    "Purchasing group&lt;/P&gt;&lt;P&gt;               s_lifnr FOR ekko-lifnr,                    "Vendor Number&lt;/P&gt;&lt;P&gt;               s_werks FOR ekpo-werks,                    "Plant&lt;/P&gt;&lt;P&gt;               s_matnr FOR ekpo-matnr,                    "Material Number&lt;/P&gt;&lt;P&gt;               s_infnr FOR ekpo-infnr,                    "Agreement&lt;/P&gt;&lt;P&gt;               s_konnr FOR ekpo-konnr.                    "Outline Agreement&lt;/P&gt;&lt;P&gt;PARAMETERS : cb_test AS CHECKBOX.                         "BAPI Test run&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;PARAMETERS    :p_bukrs LIKE ekko-bukrs OBLIGATORY DEFAULT '9040',    "Company Code&lt;/P&gt;&lt;P&gt;               p_werks LIKE ekpo-werks OBLIGATORY DEFAULT '7040',    "Plant&lt;/P&gt;&lt;P&gt;               p_ekorg LIKE ekko-ekorg OBLIGATORY DEFAULT '9040',    "Purchasing Organization&lt;/P&gt;&lt;P&gt;               p_ekgrp LIKE ekko-ekgrp OBLIGATORY DEFAULT '031',     "Purchasing group&lt;/P&gt;&lt;P&gt;               p_bsart1 LIKE ekko-bsart OBLIGATORY DEFAULT 'ZHIH'.   "PO Type&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A T  S E L E C T I O N - S C R E E N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating the Selection Screen inputs.&lt;/P&gt;&lt;P&gt;  PERFORM validate_user_input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S T A R T - O F - S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Getting data from table EKKO.&lt;/P&gt;&lt;P&gt;  PERFORM get_purchase_order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Getting data from table EKKO&lt;/P&gt;&lt;P&gt;  PERFORM get_po_created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Getting data from table EKKO &amp;amp; EKPO&lt;/P&gt;&lt;P&gt;  PERFORM get_contract_num.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Getting data from ADRC table&lt;/P&gt;&lt;P&gt;  PERFORM get_delivery_address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Creating the PO.&lt;/P&gt;&lt;P&gt;  PERFORM create_po.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E N D - O F - S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Display list_heading.&lt;/P&gt;&lt;P&gt;  PERFORM list_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Display PO sucess log&lt;/P&gt;&lt;P&gt;  IF NOT it_succ_log[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_display_succ_po_log.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Display PO error log&lt;/P&gt;&lt;P&gt;  IF NOT it_err_log[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_display_err_po_log.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Display PO which are already created&lt;/P&gt;&lt;P&gt;  IF NOT it_sucess[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM display_createdpo_rept.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Display PO which has multiple contracts&lt;/P&gt;&lt;P&gt;  IF NOT it_po_matnr_mul_cont[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM po_matnr_mul_contr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Display PO which doesnt have contract numbers&lt;/P&gt;&lt;P&gt;  IF NOT it_contract[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM display_contract_rept.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Display PO Changes sucess log&lt;/P&gt;&lt;P&gt;  IF NOT it_succ_chg_log[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM display_succ_chg_rept.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Display PO Changes error log&lt;/P&gt;&lt;P&gt;  IF NOT it_err_chg_log[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM display_err_chg_rept.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Clearing the variables and internal tables.&lt;/P&gt;&lt;P&gt;  PERFORM clear_variables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TOP OF PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;*-- standard top of page&lt;/P&gt;&lt;P&gt;  PERFORM std_top_of_page CHANGING v_title.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_USER_INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form to validate user inputs at Selection Screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM validate_user_input .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Purchasing Document Number&lt;/P&gt;&lt;P&gt;  IF NOT s_ebeln[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT ebeln&lt;/P&gt;&lt;P&gt;           INTO v_ebeln&lt;/P&gt;&lt;P&gt;           FROM ekko&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE ebeln IN s_ebeln.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Purchasing Document Number'(004).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Purchasing Document Type&lt;/P&gt;&lt;P&gt;  IF NOT s_bsart[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT bsart&lt;/P&gt;&lt;P&gt;           INTO v_bsart&lt;/P&gt;&lt;P&gt;           FROM t161&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE bsart IN s_bsart.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Purchasing Document Type'(005).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Purchasing org&lt;/P&gt;&lt;P&gt;  IF NOT s_ekorg[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT ekorg&lt;/P&gt;&lt;P&gt;           INTO v_ekorg&lt;/P&gt;&lt;P&gt;           FROM t024e&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE ekorg IN s_ekorg.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Purchasing Organization'(006).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Purchasing group&lt;/P&gt;&lt;P&gt;  IF NOT s_ekgrp[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT ekgrp&lt;/P&gt;&lt;P&gt;           INTO v_ekgrp&lt;/P&gt;&lt;P&gt;           FROM t024&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE ekgrp IN s_ekgrp.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Purchasing Group'(007).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Vendor's account number&lt;/P&gt;&lt;P&gt;  IF NOT s_lifnr[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT lifnr&lt;/P&gt;&lt;P&gt;           INTO v_lifnr&lt;/P&gt;&lt;P&gt;           FROM lfa1&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE lifnr IN s_lifnr.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Vendor account number'(008).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Plant&lt;/P&gt;&lt;P&gt;  IF NOT s_werks[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT werks&lt;/P&gt;&lt;P&gt;           INTO v_werks&lt;/P&gt;&lt;P&gt;           FROM t001w&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE werks IN s_werks.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Plant'(009).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Material&lt;/P&gt;&lt;P&gt;  IF NOT s_matnr[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT matnr&lt;/P&gt;&lt;P&gt;           INTO v_matnr&lt;/P&gt;&lt;P&gt;           FROM mara&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Material Number'(010).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating info record(Agreement)&lt;/P&gt;&lt;P&gt;  IF NOT s_infnr[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT infnr&lt;/P&gt;&lt;P&gt;           INTO v_infnr&lt;/P&gt;&lt;P&gt;           FROM eina&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE infnr IN s_infnr.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid purchasing info record'(011).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Purchase aggreement&lt;/P&gt;&lt;P&gt;  IF NOT s_konnr[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT ebeln&lt;/P&gt;&lt;P&gt;           INTO v_konnr&lt;/P&gt;&lt;P&gt;           FROM ekko&lt;/P&gt;&lt;P&gt;           UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;           WHERE ebeln IN s_konnr.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid purchasing purchase agreement'(023).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Destination company code&lt;/P&gt;&lt;P&gt;  IF NOT p_bukrs IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE bukrs&lt;/P&gt;&lt;P&gt;             INTO v_bukrs FROM t001&lt;/P&gt;&lt;P&gt;             WHERE bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Company Code'(012).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Destination Plant&lt;/P&gt;&lt;P&gt;  IF NOT p_werks IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE werks&lt;/P&gt;&lt;P&gt;             INTO v_werks1 FROM t001w&lt;/P&gt;&lt;P&gt;             WHERE werks = p_werks.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Plant'(009).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Destination Purchasing Organization&lt;/P&gt;&lt;P&gt;  IF NOT p_ekorg IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE ekorg&lt;/P&gt;&lt;P&gt;             INTO v_ekorg1 FROM t024e&lt;/P&gt;&lt;P&gt;             WHERE ekorg = p_ekorg.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Purchasing Organization'(006).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Purchasing group&lt;/P&gt;&lt;P&gt;  IF NOT p_ekgrp IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE ekgrp&lt;/P&gt;&lt;P&gt;           INTO v_ekgrp1 FROM t024&lt;/P&gt;&lt;P&gt;           WHERE ekgrp = p_ekgrp.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Purchasing Group'(007).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Validating Purchasing Document Type&lt;/P&gt;&lt;P&gt;  IF NOT p_bsart1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE bsart&lt;/P&gt;&lt;P&gt;           INTO v_bsart1 FROM t161&lt;/P&gt;&lt;P&gt;           WHERE bsart = p_bsart1.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e000 WITH 'Invalid Purchasing Document Type'(005).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_USER_INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_PURCHASE_ORDER&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form to fetch data required from table EKKO &amp;amp; EKPO into internal table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_purchase_order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_head_item.&lt;/P&gt;&lt;P&gt;*-- Getting data from table EKKO &amp;amp; EKPO.&lt;/P&gt;&lt;P&gt;  SELECT a~ebeln&lt;/P&gt;&lt;P&gt;         a~bukrs&lt;/P&gt;&lt;P&gt;         a~bsart&lt;/P&gt;&lt;P&gt;         a~aedat&lt;/P&gt;&lt;P&gt;         a~ernam&lt;/P&gt;&lt;P&gt;         a~lifnr&lt;/P&gt;&lt;P&gt;         a~ekorg&lt;/P&gt;&lt;P&gt;         a~ekgrp&lt;/P&gt;&lt;P&gt;         a~spras&lt;/P&gt;&lt;P&gt;         a~pincr&lt;/P&gt;&lt;P&gt;         a~zterm&lt;/P&gt;&lt;P&gt;         a~waers&lt;/P&gt;&lt;P&gt;         a~inco1&lt;/P&gt;&lt;P&gt;         a~inco2&lt;/P&gt;&lt;P&gt;         a~bedat&lt;/P&gt;&lt;P&gt;         b~ebelp&lt;/P&gt;&lt;P&gt;         b~txz01&lt;/P&gt;&lt;P&gt;         b~matnr&lt;/P&gt;&lt;P&gt;         b~werks&lt;/P&gt;&lt;P&gt;         b~lgort&lt;/P&gt;&lt;P&gt;         b~menge&lt;/P&gt;&lt;P&gt;         b~knttp&lt;/P&gt;&lt;P&gt;         b~matkl&lt;/P&gt;&lt;P&gt;         b~bednr&lt;/P&gt;&lt;P&gt;         b~afnam&lt;/P&gt;&lt;P&gt;         b~meins&lt;/P&gt;&lt;P&gt;         b~bpumz&lt;/P&gt;&lt;P&gt;         b~bpumn&lt;/P&gt;&lt;P&gt;         b~netpr&lt;/P&gt;&lt;P&gt;         b~peinh&lt;/P&gt;&lt;P&gt;         b~webaz&lt;/P&gt;&lt;P&gt;         b~mwskz&lt;/P&gt;&lt;P&gt;         b~adrnr&lt;/P&gt;&lt;P&gt;   INTO TABLE it_head_item&lt;/P&gt;&lt;P&gt;         FROM ekko AS a&lt;/P&gt;&lt;P&gt;   INNER JOIN ekpo AS b&lt;/P&gt;&lt;P&gt;   ON a~ebeln = b~ebeln&lt;/P&gt;&lt;P&gt;   WHERE a~ebeln IN s_ebeln&lt;/P&gt;&lt;P&gt;     AND a~bsart IN s_bsart&lt;/P&gt;&lt;P&gt;     AND a~aedat IN s_aedat&lt;/P&gt;&lt;P&gt;     AND a~ekgrp IN s_ekgrp&lt;/P&gt;&lt;P&gt;     AND a~ekorg IN s_ekorg&lt;/P&gt;&lt;P&gt;     AND a~lifnr IN s_lifnr&lt;/P&gt;&lt;P&gt;     AND a~loekz &amp;lt;&amp;gt; c_x&lt;/P&gt;&lt;P&gt;     AND b~werks IN s_werks&lt;/P&gt;&lt;P&gt;     AND b~matnr IN s_matnr&lt;/P&gt;&lt;P&gt;     AND b~infnr IN s_infnr&lt;/P&gt;&lt;P&gt;     AND b~konnr IN s_konnr&lt;/P&gt;&lt;P&gt;     AND b~loekz &amp;lt;&amp;gt; c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*-- Create PO with same number as ZHBV PO&lt;/P&gt;&lt;P&gt;*-- with the letter &amp;#145;I&amp;#146; in front&lt;/P&gt;&lt;P&gt;    SORT it_head_item BY ebeln.&lt;/P&gt;&lt;P&gt;    LOOP AT it_head_item.&lt;/P&gt;&lt;P&gt;      it_head_item-ebeln+0(1) = 'I'.&lt;/P&gt;&lt;P&gt;      MODIFY it_head_item INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE i000 WITH 'No Purchase Order is possible for creation'(003).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_PURCHASE_ORDER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_PO_CREATED&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form to fetch data required from table EKKO into internal table.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Delete those records which are already created&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_po_created .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--fetch data from table EKKO into internal table&lt;/P&gt;&lt;P&gt;*--Where Docu type = 'ZHIH'&lt;/P&gt;&lt;P&gt;  IF NOT it_head_item[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT a~ebeln&lt;/P&gt;&lt;P&gt;           a~bukrs&lt;/P&gt;&lt;P&gt;           a~bsart&lt;/P&gt;&lt;P&gt;           a~aedat&lt;/P&gt;&lt;P&gt;           a~ernam&lt;/P&gt;&lt;P&gt;           a~lifnr&lt;/P&gt;&lt;P&gt;           a~ekorg&lt;/P&gt;&lt;P&gt;           a~ekgrp&lt;/P&gt;&lt;P&gt;           a~spras&lt;/P&gt;&lt;P&gt;           b~werks&lt;/P&gt;&lt;P&gt;      INTO TABLE it_ekko_dest&lt;/P&gt;&lt;P&gt;      FROM ekko AS a&lt;/P&gt;&lt;P&gt;     INNER JOIN ekpo AS b&lt;/P&gt;&lt;P&gt;        ON a&lt;SUB&gt;ebeln = b&lt;/SUB&gt;ebeln&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN it_head_item&lt;/P&gt;&lt;P&gt;     WHERE a~ebeln = it_head_item-ebeln&lt;/P&gt;&lt;P&gt;       AND a~bsart = p_bsart1&lt;/P&gt;&lt;P&gt;       AND a~bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;       AND b~werks = p_werks&lt;/P&gt;&lt;P&gt;       AND b~bstyp = c_bstyp1&lt;/P&gt;&lt;P&gt;       AND a~ekorg = p_ekorg&lt;/P&gt;&lt;P&gt;       AND a~ekgrp = p_ekgrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_ekko_dest BY ebeln.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Move all the PO numbers into sucess internal table&lt;/P&gt;&lt;P&gt;*--if the PO was already created&lt;/P&gt;&lt;P&gt;  LOOP AT it_ekko_dest.&lt;/P&gt;&lt;P&gt;    MOVE it_ekko_dest-ebeln TO it_sucess-ebeln.&lt;/P&gt;&lt;P&gt;    APPEND it_sucess.&lt;/P&gt;&lt;P&gt;    CLEAR it_sucess.&lt;/P&gt;&lt;P&gt;    DELETE it_head_item WHERE ebeln = it_ekko_dest-ebeln.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR it_head_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF it_head_item[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE i000 WITH 'No Purchase Order is possible for creation'(003).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_PO_CREATED&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CONTRACT_NUM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_contract_num .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Select the data to get contract number&lt;/P&gt;&lt;P&gt;  IF NOT it_head_item[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT a~ebeln                "contract numbers&lt;/P&gt;&lt;P&gt;           a~lifnr&lt;/P&gt;&lt;P&gt;           a~inco1&lt;/P&gt;&lt;P&gt;           a~inco2&lt;/P&gt;&lt;P&gt;           a~zterm&lt;/P&gt;&lt;P&gt;           a~waers&lt;/P&gt;&lt;P&gt;           b~ebelp&lt;/P&gt;&lt;P&gt;           b~matnr&lt;/P&gt;&lt;P&gt;           b~netpr&lt;/P&gt;&lt;P&gt;           b~peinh&lt;/P&gt;&lt;P&gt;           b~mwskz&lt;/P&gt;&lt;P&gt;           b~knttp&lt;/P&gt;&lt;P&gt;           b~bednr&lt;/P&gt;&lt;P&gt;      INTO TABLE it_ekko_ekpo&lt;/P&gt;&lt;P&gt;      FROM ekko AS a&lt;/P&gt;&lt;P&gt;     INNER JOIN ekpo AS b&lt;/P&gt;&lt;P&gt;        ON a~ebeln = b~ebeln&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN it_head_item&lt;/P&gt;&lt;P&gt;      WHERE b~matnr = it_head_item-matnr&lt;/P&gt;&lt;P&gt;        AND a~bukrs = p_bukrs              " Company code&lt;/P&gt;&lt;P&gt;        AND a~ekorg = p_ekorg              " Purchase org&lt;/P&gt;&lt;P&gt;        AND a~loekz &amp;lt;&amp;gt; c_x                 " Deletion indicator for header data&lt;/P&gt;&lt;P&gt;        AND a~kdatb &amp;lt;= sy-datum            " Validity period start&lt;/P&gt;&lt;P&gt;        AND a~kdate &amp;gt;= sy-datum            " Validity period end&lt;/P&gt;&lt;P&gt;        AND b~loekz &amp;lt;&amp;gt; c_x                 " Deletion indicator for item data&lt;/P&gt;&lt;P&gt;        AND b~bstyp = c_bstyp.             " Purch. doc. category&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_ekko_ekpo BY matnr.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    LOOP AT it_head_item.&lt;/P&gt;&lt;P&gt;      READ TABLE it_ekko_ekpo WITH KEY matnr = it_head_item-matnr&lt;/P&gt;&lt;P&gt;                                       BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*-- move the data to the internal table&lt;/P&gt;&lt;P&gt;*-- which doesnt have contract number&lt;/P&gt;&lt;P&gt;        it_contract-ebeln = it_head_item-ebeln.&lt;/P&gt;&lt;P&gt;        APPEND it_contract.&lt;/P&gt;&lt;P&gt;        CLEAR it_contract.&lt;/P&gt;&lt;P&gt;*-- Deleting the record&lt;/P&gt;&lt;P&gt;*-- which doesnt have any contract number&lt;/P&gt;&lt;P&gt;        DELETE it_head_item WHERE ebeln = it_head_item-ebeln.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CLEAR it_head_item.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF it_head_item[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE i000 WITH 'No Purchase Order is possible for creation'(003).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Get the vendor country details.&lt;/P&gt;&lt;P&gt;  IF NOT it_ekko_ekpo[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT lifnr&lt;/P&gt;&lt;P&gt;           land1&lt;/P&gt;&lt;P&gt;      INTO TABLE it_lfa1&lt;/P&gt;&lt;P&gt;      FROM lfa1&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN it_ekko_ekpo&lt;/P&gt;&lt;P&gt;     WHERE lifnr = it_ekko_ekpo-lifnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_lfa1 BY lifnr.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_CONTRACT_NUM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DELIVERY_ADDRESS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Delivery address details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_delivery_address .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Get the Plant details.&lt;/P&gt;&lt;P&gt;  SELECT werks adrnr&lt;/P&gt;&lt;P&gt;     INTO TABLE it_plant_adrnr&lt;/P&gt;&lt;P&gt;     FROM t001w.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Get the delivery address details.&lt;/P&gt;&lt;P&gt;  IF NOT it_head_item[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT addrnumber&lt;/P&gt;&lt;P&gt;           name1&lt;/P&gt;&lt;P&gt;           name2&lt;/P&gt;&lt;P&gt;           street&lt;/P&gt;&lt;P&gt;           house_num1&lt;/P&gt;&lt;P&gt;           city1&lt;/P&gt;&lt;P&gt;           city2&lt;/P&gt;&lt;P&gt;           post_code1&lt;/P&gt;&lt;P&gt;           country&lt;/P&gt;&lt;P&gt;           region&lt;/P&gt;&lt;P&gt;      INTO TABLE it_delivery_address&lt;/P&gt;&lt;P&gt;      FROM adrc&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN it_head_item&lt;/P&gt;&lt;P&gt;     WHERE addrnumber = it_head_item-adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_delivery_address BY addrnumber.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Get the Plant address details.&lt;/P&gt;&lt;P&gt;  IF NOT it_plant_adrnr[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT addrnumber&lt;/P&gt;&lt;P&gt;           name1&lt;/P&gt;&lt;P&gt;           name2&lt;/P&gt;&lt;P&gt;           street&lt;/P&gt;&lt;P&gt;           house_num1&lt;/P&gt;&lt;P&gt;           city1&lt;/P&gt;&lt;P&gt;           city2&lt;/P&gt;&lt;P&gt;           post_code1&lt;/P&gt;&lt;P&gt;           country&lt;/P&gt;&lt;P&gt;           region&lt;/P&gt;&lt;P&gt; APPENDING TABLE it_delivery_address&lt;/P&gt;&lt;P&gt;      FROM adrc&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN it_plant_adrnr&lt;/P&gt;&lt;P&gt;     WHERE addrnumber = it_plant_adrnr-adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_delivery_address BY addrnumber.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DELIVERY_ADDRESS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CREATE_PO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CREATE PURCHASE ORDER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM create_po .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : fg_matnr_multi_contracts TYPE c,&lt;/P&gt;&lt;P&gt;         l_contracts TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT it_head_item BY ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_head_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW ebeln.&lt;/P&gt;&lt;P&gt;      REFRESH : it_poitemx,it_poitem,it_deliveryaddr,it_return , it_contracts_tmp.&lt;/P&gt;&lt;P&gt;      CLEAR: x_poheader,x_poheaderx,x_poitem,x_poitemx,x_deliveryaddr,x_return,&lt;/P&gt;&lt;P&gt;             x_err_log,x_succ_log, it_contracts_tmp,it_poitemx,it_poitem,&lt;/P&gt;&lt;P&gt;             it_deliveryaddr,it_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_head_item WITH KEY ebeln = it_head_item-ebeln.&lt;/P&gt;&lt;P&gt;**-Populate PO Header structure&lt;/P&gt;&lt;P&gt;      x_poheader-po_number  = it_head_item-ebeln.      " PO no.&lt;/P&gt;&lt;P&gt;      x_poheader-comp_code  = p_bukrs.                 " Company code&lt;/P&gt;&lt;P&gt;      x_poheader-doc_type   = p_bsart1.                " Document type&lt;/P&gt;&lt;P&gt;      x_poheader-creat_date = it_head_item-aedat.      " Date created&lt;/P&gt;&lt;P&gt;      x_poheader-created_by = it_head_item-ernam.      " Created by&lt;/P&gt;&lt;P&gt;      x_poheader-langu      = sy-langu.                " Language key&lt;/P&gt;&lt;P&gt;      x_poheader-langu_iso  = sy-langu.                " Language key iso&lt;/P&gt;&lt;P&gt;      x_poheader-purch_org  = p_ekorg.                 " Purchasing org.&lt;/P&gt;&lt;P&gt;      x_poheader-pur_group  = p_ekgrp.                 " Purch. Group&lt;/P&gt;&lt;P&gt;      x_poheader-doc_date   = it_head_item-bedat.      " Doc date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Populate PO Header 'X' structure&lt;/P&gt;&lt;P&gt;      x_poheaderx-po_number  = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-comp_code  = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-doc_type   = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-creat_date = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-created_by = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-vendor     = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-langu      = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-langu_iso  = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-pmnttrms   = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-purch_org  = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-pur_group  = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-currency   = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-currency_iso = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-doc_date   = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-incoterms1 = c_x.&lt;/P&gt;&lt;P&gt;      x_poheaderx-incoterms2 = c_x.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_ekko_ekpo WHERE matnr = it_head_item-matnr.&lt;/P&gt;&lt;P&gt;*-- Collecting  the contracts of materials of this PO.&lt;/P&gt;&lt;P&gt;      it_contracts_tmp-ebeln = it_ekko_ekpo-ebeln.&lt;/P&gt;&lt;P&gt;      APPEND it_contracts_tmp.&lt;/P&gt;&lt;P&gt;      CLEAR  it_contracts_tmp.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Populate PO Item structure&lt;/P&gt;&lt;P&gt;    x_poitem-po_item     = it_head_item-ebelp.       " PO Item no.&lt;/P&gt;&lt;P&gt;    x_poitem-agreement   = it_ekko_ekpo-ebeln.       " Agreement NO&lt;/P&gt;&lt;P&gt;    x_poitem-net_price   = it_ekko_ekpo-netpr.       " Net price&lt;/P&gt;&lt;P&gt;    x_poitem-price_unit  = it_ekko_ekpo-peinh.       " price per unit&lt;/P&gt;&lt;P&gt;    x_poitem-tax_code    = it_ekko_ekpo-mwskz.       " Tax Code&lt;/P&gt;&lt;P&gt;    x_poitem-acctasscat  = it_ekko_ekpo-knttp.       " Account ass cata&lt;/P&gt;&lt;P&gt;    x_poitem-short_text  = it_head_item-txz01.       " Item description&lt;/P&gt;&lt;P&gt;    x_poitem-material    = it_head_item-matnr.       " Material no.&lt;/P&gt;&lt;P&gt;    x_poitem-plant       = p_werks.                  " Plant&lt;/P&gt;&lt;P&gt;    x_poitem-stge_loc    = p_werks.                  " Storage Loc&lt;/P&gt;&lt;P&gt;    x_poitem-matl_group  = it_head_item-matkl.       " Material group&lt;/P&gt;&lt;P&gt;    x_poitem-quantity    = it_head_item-menge.       " Ordered qty.&lt;/P&gt;&lt;P&gt;    x_poitem-po_unit     = it_head_item-meins.       " Order unit&lt;/P&gt;&lt;P&gt;    x_poitem-po_unit_iso = it_head_item-meins.       " Order unit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND x_poitem TO it_poitem.&lt;/P&gt;&lt;P&gt;    CLEAR x_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Populate PO Item 'X' structure&lt;/P&gt;&lt;P&gt;    x_poitemx-po_item     = it_head_item-ebelp.       " PO Item no.&lt;/P&gt;&lt;P&gt;    x_poitemx-po_itemx    = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-short_text  = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-material    = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-plant       = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-stge_loc    = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-agreement   = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-matl_group  = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-quantity    = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-po_unit     = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-po_unit_iso = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-net_price   = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-price_unit  = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-tax_code    = c_x.&lt;/P&gt;&lt;P&gt;    x_poitemx-acctasscat  = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND x_poitemx TO it_poitemx.&lt;/P&gt;&lt;P&gt;    CLEAR x_poitemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Populate PO Header deliveryaddr structure&lt;/P&gt;&lt;P&gt;    READ TABLE it_delivery_address WITH KEY addrnumber = it_head_item-adrnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-po_item  = it_head_item-ebelp.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-addr_no  = it_delivery_address-addrnumber.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-name  = it_delivery_address-name1.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-name_2  = it_delivery_address-name2.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-street  = it_delivery_address-street.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-house_no  = it_delivery_address-house_num1.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-postl_cod1  = it_delivery_address-post_code1.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-district  = it_delivery_address-city2.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-city  = it_delivery_address-city1.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-country  = it_delivery_address-country.&lt;/P&gt;&lt;P&gt;      x_deliveryaddr-region  = it_delivery_address-region.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND x_deliveryaddr TO it_deliveryaddr.&lt;/P&gt;&lt;P&gt;      CLEAR x_deliveryaddr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;**-Populate PO Header plant details&lt;/P&gt;&lt;P&gt;      READ TABLE it_plant_adrnr WITH KEY werks = it_head_item-werks.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE it_delivery_address WITH KEY addrnumber = it_plant_adrnr-adrnr.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-po_item  = it_head_item-ebelp.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-addr_no  = it_delivery_address-addrnumber.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-name  = it_delivery_address-name1.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-name_2  = it_delivery_address-name2.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-street  = it_delivery_address-street.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-house_no  = it_delivery_address-house_num1.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-postl_cod1  = it_delivery_address-post_code1.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-district  = it_delivery_address-city2.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-city  = it_delivery_address-city1. "CITY1&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-country  = it_delivery_address-country.&lt;/P&gt;&lt;P&gt;          x_deliveryaddr-region  = it_delivery_address-region.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND x_deliveryaddr TO it_deliveryaddr.&lt;/P&gt;&lt;P&gt;          CLEAR x_deliveryaddr.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    AT END OF ebeln.&lt;/P&gt;&lt;P&gt;      READ TABLE it_head_item WITH KEY ebeln = it_head_item-ebeln.&lt;/P&gt;&lt;P&gt;      SORT it_contracts_tmp.&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM it_contracts_tmp.&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE it_contracts_tmp LINES l_contracts.&lt;/P&gt;&lt;P&gt;*--materials of the PO have different contracts&lt;/P&gt;&lt;P&gt;*--among themselves...therefore error out.&lt;/P&gt;&lt;P&gt;      IF l_contracts &amp;gt; 1.&lt;/P&gt;&lt;P&gt;        it_po_matnr_mul_cont-ebeln = it_head_item-ebeln.&lt;/P&gt;&lt;P&gt;        it_po_matnr_mul_cont-matnr = it_head_item-matnr.&lt;/P&gt;&lt;P&gt;        APPEND it_po_matnr_mul_cont.&lt;/P&gt;&lt;P&gt;        CLEAR it_po_matnr_mul_cont.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      x_poheader-vendor     = it_ekko_ekpo-lifnr.    " Vendor no.&lt;/P&gt;&lt;P&gt;      x_poheader-incoterms1 = it_ekko_ekpo-inco1.    " Incoterms1&lt;/P&gt;&lt;P&gt;      x_poheader-incoterms2 = it_ekko_ekpo-inco2.    " Incoterms2&lt;/P&gt;&lt;P&gt;      x_poheader-pmnttrms   = it_ekko_ekpo-zterm.    " Payment terms&lt;/P&gt;&lt;P&gt;      x_poheader-currency   = it_ekko_ekpo-waers.    " currency&lt;/P&gt;&lt;P&gt;      x_poheader-currency_iso = it_ekko_ekpo-waers.  " currency iso&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;**-Call BAPI to create purchase order&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          poheader       = x_poheader&lt;/P&gt;&lt;P&gt;          poheaderx      = x_poheaderx&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          return         = it_return&lt;/P&gt;&lt;P&gt;          poitem         = it_poitem&lt;/P&gt;&lt;P&gt;          poitemx        = it_poitemx&lt;/P&gt;&lt;P&gt;          poaddrdelivery = it_deliveryaddr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          wait = 'X'.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;---Append BAPI error's to success log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE it_return INTO x_return WITH KEY type = 'S'&lt;/P&gt;&lt;P&gt;                                                  number = '017'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        v_succ_po = it_head_item-ebeln.&lt;/P&gt;&lt;P&gt;        PERFORM succ_po_log.&lt;/P&gt;&lt;P&gt;*-- Change PO&lt;/P&gt;&lt;P&gt;        PERFORM change_po.      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;---Append BAPI error's to error log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM err_po_log.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_PO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  err_po_log&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM err_po_log .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Details of error log&lt;/P&gt;&lt;P&gt;  LOOP AT it_return INTO x_return.&lt;/P&gt;&lt;P&gt;    CLEAR x_err_log.&lt;/P&gt;&lt;P&gt;    x_err_log-ebeln = it_head_item-ebeln.&lt;/P&gt;&lt;P&gt;    x_err_log-type  = x_return-type.&lt;/P&gt;&lt;P&gt;    x_err_log-number = x_return-number.&lt;/P&gt;&lt;P&gt;    x_err_log-message = x_return-message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND x_err_log TO it_err_log.&lt;/P&gt;&lt;P&gt;    CLEAR  x_err_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " err_po_log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  succ_po_log&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Details of sucess log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM succ_po_log .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Details of sucess log&lt;/P&gt;&lt;P&gt;  CLEAR x_succ_log.&lt;/P&gt;&lt;P&gt;  x_succ_log-ebeln = it_head_item-ebeln.&lt;/P&gt;&lt;P&gt;  x_succ_log-type  = x_return-type.&lt;/P&gt;&lt;P&gt;  x_succ_log-number = x_return-number.&lt;/P&gt;&lt;P&gt;  x_succ_log-message = x_return-message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND x_succ_log TO it_succ_log.&lt;/P&gt;&lt;P&gt;  CLEAR  x_succ_log.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " succ_po_log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  list_heading&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM list_heading .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-List heading&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;      55 'Summary Report'(013),&lt;/P&gt;&lt;P&gt;      132 sy-vline.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " list_heading&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f_display_succ_po_log&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Success Purchase Orders log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_display_succ_po_log .&lt;/P&gt;&lt;P&gt;  SKIP 3.&lt;/P&gt;&lt;P&gt;**-List heading&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;      40 'Success messages for HIH PO Creation'(024),&lt;/P&gt;&lt;P&gt;      132 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Column headings&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;         2 'Purchase Order'(015),&lt;/P&gt;&lt;P&gt;        16 sy-vline,&lt;/P&gt;&lt;P&gt;        17 'Error Type'(016),&lt;/P&gt;&lt;P&gt;        28 sy-vline,&lt;/P&gt;&lt;P&gt;        29 'Error Value'(017),&lt;/P&gt;&lt;P&gt;        41 sy-vline,&lt;/P&gt;&lt;P&gt;        42 'Error Message'(018),&lt;/P&gt;&lt;P&gt;       132 sy-vline.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_succ_log INTO x_succ_log.&lt;/P&gt;&lt;P&gt;    WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;           2 x_succ_log-ebeln,&lt;/P&gt;&lt;P&gt;           16 sy-vline,&lt;/P&gt;&lt;P&gt;           17 x_succ_log-type,&lt;/P&gt;&lt;P&gt;           28 sy-vline,&lt;/P&gt;&lt;P&gt;           29 x_succ_log-number,&lt;/P&gt;&lt;P&gt;           41 sy-vline,&lt;/P&gt;&lt;P&gt;           42 x_succ_log-message,&lt;/P&gt;&lt;P&gt;           132 sy-vline.&lt;/P&gt;&lt;P&gt;    WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_display_succ_po_log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  f_display_err_po_log&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Error Purchase Orders log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_display_err_po_log .&lt;/P&gt;&lt;P&gt;  SKIP 3.&lt;/P&gt;&lt;P&gt;**-List heading&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;      40 'Error messages for HIH PO creation'(025),&lt;/P&gt;&lt;P&gt;      132 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-Column headings&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;         2 'Purchase Order'(015),&lt;/P&gt;&lt;P&gt;        16 sy-vline,&lt;/P&gt;&lt;P&gt;        17 'Error Type'(016),&lt;/P&gt;&lt;P&gt;        28 sy-vline,&lt;/P&gt;&lt;P&gt;        29 'Error Value'(017),&lt;/P&gt;&lt;P&gt;        41 sy-vline,&lt;/P&gt;&lt;P&gt;        42 'Error Message'(018),&lt;/P&gt;&lt;P&gt;       132 sy-vline.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_err_log INTO x_err_log.&lt;/P&gt;&lt;P&gt;    WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;           2 x_err_log-ebeln,&lt;/P&gt;&lt;P&gt;           16 sy-vline,&lt;/P&gt;&lt;P&gt;           17 x_err_log-type,&lt;/P&gt;&lt;P&gt;           28 sy-vline,&lt;/P&gt;&lt;P&gt;           29 x_err_log-number,&lt;/P&gt;&lt;P&gt;           41 sy-vline,&lt;/P&gt;&lt;P&gt;           42 x_err_log-message,&lt;/P&gt;&lt;P&gt;           132 sy-vline.&lt;/P&gt;&lt;P&gt;    AT END OF ebeln.&lt;/P&gt;&lt;P&gt;      WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_display_err_po_log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_createdpo_rept&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      List of PO already created&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_createdpo_rept .&lt;/P&gt;&lt;P&gt;  SKIP 3.&lt;/P&gt;&lt;P&gt;**-Column headings&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;         55 'List of PO already created'(020),&lt;/P&gt;&lt;P&gt;         132 sy-vline.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Display PO created sucess report&lt;/P&gt;&lt;P&gt;  LOOP AT it_sucess.&lt;/P&gt;&lt;P&gt;    WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;           15 'Purchase Order NO:'(021),&lt;/P&gt;&lt;P&gt;           50 sy-vline,&lt;/P&gt;&lt;P&gt;           60 it_sucess-ebeln,&lt;/P&gt;&lt;P&gt;          132 sy-vline.&lt;/P&gt;&lt;P&gt;    AT LAST.&lt;/P&gt;&lt;P&gt;      WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_createdpo_rept&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_contract_rept&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      List of PO which doesnt have Contract Numbers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_contract_rept .&lt;/P&gt;&lt;P&gt;  SKIP 3.&lt;/P&gt;&lt;P&gt;**-Column headings&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;         55 'List of Contract Numbers'(022),&lt;/P&gt;&lt;P&gt;         132 sy-vline.&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_contract.&lt;/P&gt;&lt;P&gt;    WRITE:/1 sy-vline,&lt;/P&gt;&lt;P&gt;           15 'Purchase Order NO:'(021),&lt;/P&gt;&lt;P&gt;           50 sy-vline,&lt;/P&gt;&lt;P&gt;           60 it_contract-ebeln,&lt;/P&gt;&lt;P&gt;          132 sy-vline.&lt;/P&gt;&lt;P&gt;    AT LAST.&lt;/P&gt;&lt;P&gt;      WRITE:/1(132) sy-uline.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_contract_rept&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Vikranth Khimavath&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Khimavath Vikranth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Dec 2006 13:30:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787109#M338898</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-22T13:30:17Z</dc:date>
    </item>
    <item>
      <title>Re: creating purchase order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787110#M338899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;we have to give data for all fields when creating po?  plz tell me what r the mandatory fields required to create po.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Dec 2006 13:49:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787110#M338899</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-22T13:49:47Z</dc:date>
    </item>
    <item>
      <title>Re: creating purchase order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787111#M338900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vendor, purchasing org &amp;amp; purchasing grp are three mandatory field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Regds,&lt;/P&gt;&lt;P&gt;Seema&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Dec 2006 08:50:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787111#M338900</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-26T08:50:09Z</dc:date>
    </item>
    <item>
      <title>Re: creating purchase order</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787112#M338901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Neela&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The cominations will vary basing on the document types. Hence, the best way to approach this is create a document online via transaction ME21N. Through this we will know the necessary fields to be populated. If you can not manage to create a document, seek the help of your consultant to understand the same. This will definetely help us in handling the coding...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important thing i want to highlight is, generally we miss out passing the item numbers as they will be generated internally. But it is always better to pass the item number while using BAPI's, to have the control while passing details like Schedule Lines, Conditions, Account Assignment...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Eswar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Dec 2006 08:58:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/creating-purchase-order/m-p/1787112#M338901</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-26T08:58:45Z</dc:date>
    </item>
  </channel>
</rss>

