Need ABAP help for the logic in C_T_DATA

Hi
I have a scenario where I need to write ABAP in CMOD for the c_t_data which  appears as below:
St Dt(sobid)    Enddt(sobid)    Sobid    ObjectID   St Dt(ObjectID)     Enddt(ObjectID)
21.08.09            27.08.09         34567    40001        23..09.09                 29.09.09
21.08.09            27.08.09         34567    40002        24..09.09                 29.09.09
21.08.09            27.08.09         34567    40003        25..09.09                 29.09.09
21.08.09            27.08.09         34567    40004        26..09.09                 29.09.09
21.08.09            27.08.09         34567    40005        27..09.09                 29.09.09
I need to compare all the Start dates of the object ID for every  Sobid with the start date of  Sobid field  and need to set the flag if any of the start dates of  object id is different from the Sobid Start date.
Please advise what would be the best way to write the ABAP.
Thanks in advance.

Hi,
first you can store these 2 dates into some internal table sat it_sobid  and it_ObjectID.Now
sort  it_sobid ascending.
loop at  it_ObjectID.
Read date from  it_sobid  binary search index sy-index.
it_ObjectID-date =  it_sobid-date.
flag = 'y'.
endloop.
you can write some logic like this. Its just a rough idea you can modify according to ur need.
Regards,
Ravi

Similar Messages

  • I need urgent help for the logic

    hi all,
    Initially, the requirement was to create PO regardless the Purchase Requisition based on the formula
    If (Open Qty + Current Stock) < Safety Stock ==>> THEN A PO NEEDS TO BE CREATED
    This is absolutely fine, this created the PO as per the above condition.
    OUR REQUIREMENT
    Modify the same program to create PO's only if there is any PR for that material . Meaning, turn all the PR's into PO. Also, when creating PO, the delivery date should be = (Current date - 7 days) when creating a PO for an PR(I think the table name is VETVG.)  Nothing else. We need to change the  IF condition in the following code .
    so can any one let me that what modification i need to do ie what logic i should use to get the requirement fullfilled.
    *Report  Z_STO_SAFETY_STOCK                                            *
    Program Name : Z_STO_SAFETY_STOCK                                    *
    Date         : 09.03.2007                                            *
    Programmer   : Rajdeep Kumar
    Last Change  : Van Tran                22/03/2007                    *
    Specification:                                                       *
    Program Type : Report                                                *
    Description  : Create STO requirement for Plant
    Transaction  : None                                                  *
    Input Files  : None                                                  *
    Output Files : None                                                  *
    Scheduling Issues :                                                  *
    Run Frequency :                                                      *
    Mod#    Date          By            Description                      *
    New   09.03.2007   Rajdeep Kumar     Created                         *
                       DEVK905890                                        *
    M01   20.03.2007   Rajdeep Kumar     Material Group Added to         *
                       DEVK905892        Selection Screen                *
    *Update 05.04.2007   DEVK906082        Added two new selection         *
                                         fields beskz and sobsl          *
                                         and is select statement         *
    REPORT  z_sto_safety_stock NO STANDARD PAGE HEADING.
    *&                       TABLES
    TABLES:
            t001w,
          marc.                                               " M01
            marc,                                               " M01
            mara.                                               " M01
    *&                     DATA DECLARATION
    DATA: BEGIN OF it_marc OCCURS 0,
            matnr LIKE marc-matnr,
            werks LIKE marc-werks,
            eisbe LIKE marc-eisbe,
          bstmi LIKE marc-bstmi,
            bstrf LIKE marc-bstrf,
            beskz LIKE marc-beskz,
            sobsl LIKE marc-sobsl,
          END OF it_marc.
    DATA: BEGIN OF it_mard OCCURS 0,
            matnr LIKE mard-matnr,
            werks LIKE mard-werks,
            labst LIKE mard-labst,
          END OF it_mard.
    DATA: BEGIN OF it_po OCCURS 0,
            ebeln LIKE ekko-ebeln,
            werks LIKE ekpo-werks,
            ebelp LIKE ekpo-ebelp,
            loekz LIKE ekpo-loekz,
            etenr LIKE eket-etenr,
            matnr LIKE ekpo-matnr,
            menge LIKE eket-menge,
            wemng LIKE eket-wemng,
          END OF it_po.
    DATA: BEGIN OF it_po_2 OCCURS 0,
            matnr LIKE ekpo-matnr,
            werks LIKE ekpo-werks,
            ebeln LIKE ekko-ebeln,
            ebelp LIKE ekpo-ebelp,
            loekz LIKE ekpo-loekz,
            etenr LIKE eket-etenr,
            menge LIKE eket-menge,
            wemng LIKE eket-wemng,
          END OF it_po_2.
    DATA: BEGIN OF it_po_pend OCCURS 0,
            matnr LIKE ekpo-matnr,
            werks LIKE ekpo-werks,
            pendi LIKE eket-menge,
          END OF it_po_pend.
    DATA: BEGIN OF wa_join OCCURS 0,
            ebeln LIKE ekko-ebeln,
            werks LIKE ekpo-werks,
            ebelp LIKE ekpo-ebelp,
            loekz LIKE ekpo-loekz,
            etenr LIKE eket-etenr,
            matnr LIKE ekpo-matnr,
            menge LIKE eket-menge,
            wemng LIKE eket-wemng,
          END OF wa_join.
    DATA : BEGIN OF itab_marc_mard OCCURS 0,
             werks  LIKE marc-werks,
             matnr  LIKE marc-matnr,
             eisbe  LIKE marc-eisbe,
           bstmi  LIKE marc-bstmi,
             bstrf  LIKE marc-bstrf,
             beskz  LIKE marc-beskz,
             sobsl  LIKE marc-sobsl,
             labst  LIKE mard-labst,
             menge  LIKE ekpo-menge,
             ordqty LIKE ekpo-menge,
           END OF itab_marc_mard.
    DATA: BEGIN OF it_sto OCCURS 0,
          werks LIKE mard-werks,
          matnr LIKE mard-matnr,
          orqty LIKE ekpo-menge,
          eisbe LIKE marc-eisbe,
        bstmi LIKE marc-bstmi,
          bstrf LIKE marc-bstrf,
          beskz LIKE marc-beskz,
          sobsl LIKE marc-sobsl,
          labst LIKE mard-labst,
          pendi LIKE eket-menge,
          END OF it_sto.
    DATA: ws_poheader            LIKE   bapimepoheader.
    DATA: ws_poheaderx           LIKE   bapimepoheaderx .
    DATA: ws_ebeln               TYPE   mepoheader-ebeln.
    DATA: ws_posnr               LIKE   ekpo-ebelp.
    DATA: ws_etenr               LIKE   eket-etenr VALUE '0001'.
    DATA: ws_purchaseorder       LIKE   ekko-ebeln.
    DATA: ws_flg1                TYPE   c. " VALUE 'X'.
    DATA: ws_flg2                TYPE   c.
    DATA: ws_flg3                TYPE   c.
    *-- For Handling Error Messages in BAPI
    DATA: tbl_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
    *-- For Item Details
    DATA: tbl_poitem LIKE bapimepoitem OCCURS 0 WITH HEADER LINE.
    DATA: tbl_poitemx LIKE bapimepoitemx OCCURS 0 WITH HEADER LINE.
    DATA: tbl_posched LIKE bapimeposchedule OCCURS 0 WITH HEADER LINE.
    DATA: tbl_poschedx LIKE bapimeposchedulx OCCURS 0 WITH HEADER LINE.
    *&                       CONSTANTS
    CONSTANTS:   ws_flg            TYPE   c   VALUE 'X'.
    CONSTANTS:   c_unistruct(2)    TYPE   c   VALUE 'Z3'. "For UNISTRUCT STO
    *&                      SELECTION-SCREEN
    SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_werks FOR t001w-werks,
                  s_matnr FOR marc-matnr.                     " M01
                    s_matnr FOR marc-matnr,                     " M01
                    s_matkl FOR mara-matkl,                     " M01
                    s_beskz FOR marc-beskz,
                    s_sobsl FOR marc-sobsl.
    PARAMETERS:     p_test  TYPE check.
    SELECTION-SCREEN : END OF BLOCK b1.
    *&                      START OF SELECTION EVENT
    START-OF-SELECTION.
    Get the Safety Stock & Minimum Lot Size for the materials
      PERFORM get_plant_data.
    Get the Quantities in stock
      PERFORM get_stock_data.
    Determine the open quantities for the materials concerned
    [EKKO, EKET, EKPO]
      PERFORM get_open_quantities.
    PERFORM open_quantities.
    Determine overall the quantities required for each material
      PERFORM determine_mat_qty_required.
    Print the details
      PERFORM print_details.
      IF p_test EQ space.
      PO is created for each plant.
      Create the PO required.
        PERFORM create_po.
      Create the PO's for each plant with the materials required
       PERFORM create_header_item.
      Bapi call to create a Purchase order
       PERFORM create_purhase_order.
      ENDIF.
    END-OF-SELECTION.
    TOP-OF-PAGE.
      PERFORM print_header.
    *&      Form  get_plant_data
          To get the Safety Stock
    -->  p1        text
    <--  p2        text
    FORM get_plant_data .
    start                                                     " M01
    SELECT      matnr werks eisbe bstmi
    INTO TABLE  it_marc
    FROM        marc
    WHERE       matnr IN s_matnr AND
                werks IN s_werks AND
                eisbe GT 0.
    end                                                       " M01
    start                                                     " M01
      SELECT      marc~matnr werks eisbe bstrf beskz sobsl
                                                              " bstmi
      INTO TABLE  it_marc
      FROM        marc AS marc
      INNER JOIN  mara AS mara
      ON          maramatnr EQ marcmatnr
      WHERE       marc~matnr IN s_matnr AND
                  werks      IN s_werks AND
                  matkl      IN s_matkl AND
                  beskz      IN s_beskz AND
                  sobsl      IN s_sobsl AND
                  eisbe      GT 0.
    end                                                       " M01
    ENDFORM.                    " get_plant_data
    *&      Form  get_stock_data
         To get the Current Stock
    -->  p1        text
    <--  p2        text
    FORM get_stock_data .
      DATA: BEGIN OF lt_mard OCCURS 0,
              matnr LIKE mard-matnr,
              werks LIKE mard-werks,
              lgort LIKE mard-lgort,
              labst LIKE mard-labst,
            END OF lt_mard.
      CHECK NOT it_marc[] IS INITIAL.
      SELECT      matnr werks lgort labst
      INTO TABLE  lt_mard
      FROM        mard
      FOR         ALL ENTRIES IN it_marc
      WHERE       matnr EQ it_marc-matnr AND
                  werks EQ it_marc-werks.
      SORT lt_mard BY matnr werks.
      LOOP AT lt_mard.
        AT NEW werks.
          it_mard-matnr = lt_mard-matnr.
          it_mard-werks = lt_mard-werks.
        ENDAT.
        it_mard-labst = it_mard-labst + lt_mard-labst.
        AT END OF werks.
          APPEND it_mard.
          CLEAR  it_mard.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " get_stock_data
    *&      Form  open_quantities
          text
    -->  p1        text
    <--  p2        text
    FORM open_quantities .
    Storing MARC and MARD data in an internal table to find the open
    quantities
      LOOP AT it_marc.
        itab_marc_mard-matnr = it_marc-matnr.
        itab_marc_mard-werks = it_marc-werks.
        itab_marc_mard-eisbe = it_marc-eisbe.
      itab_marc_mard-bstmi = it_marc-bstmi.
        itab_marc_mard-bstrf = it_marc-bstrf.
        itab_marc_mard-beskz = it_marc-beskz.
        itab_marc_mard-sobsl = it_marc-sobsl.
        READ TABLE it_mard WITH KEY matnr = it_marc-matnr.
        IF sy-subrc EQ 0.
          itab_marc_mard-labst = it_mard-labst.
        ENDIF.
        APPEND itab_marc_mard.
        CLEAR itab_marc_mard.
      ENDLOOP.
      CHECK NOT itab_marc_mard[] IS INITIAL.
    Join EKKO EKPO
      SELECT a~ebeln
             b~ebelp
             b~werks
             b~matnr
             b~menge
             c~etenr
             c~wamng
             INTO CORRESPONDING FIELDS OF TABLE it_po
      FROM ekpo AS b
      INNER JOIN ekko AS a
      ON aebeln = bebeln
      INNER JOIN eket AS c
      ON bebeln = cebeln AND bebelp = cebelp
      FOR ALL ENTRIES IN itab_marc_mard
      WHERE b~matnr = itab_marc_mard-matnr AND
            b~werks IN s_werks .
      DATA : t_menge TYPE ekpo-menge . "local variable
    *Store the contents of it_po to the work area to get the minimum order
    *quantity
      wa_join[] = it_po[].
      LOOP AT it_po.
    delete the entries where MENGE = WAMNG
        DELETE it_po WHERE menge = it_po-wemng.
        LOOP AT wa_join WHERE matnr = it_po-matnr
                               AND werks = it_po-werks.
          t_menge = t_menge + wa_join-menge.
        ENDLOOP.
        it_po-menge = t_menge.
        MODIFY TABLE it_po TRANSPORTING menge.
        CLEAR  :t_menge.
      ENDLOOP.
    Once you get the quantities delete the repeating materials for the
    plant.
      DELETE ADJACENT DUPLICATES FROM it_po COMPARING werks matnr.
      SORT it_po BY matnr.
      LOOP AT itab_marc_mard.
        READ TABLE it_po WITH KEY matnr = itab_marc_mard-matnr
            APPEND it_sto.
        ELSE.
          WRITE:/ 'There are no open quantities to create Purchase order'.
        ENDIF.
        CLEAR it_sto.
      ENDLOOP.                         werks = itab_marc_mard-werks BINARY
    SEARCH.
        itab_marc_mard-ordqty = itab_marc_mard-labst + it_po-menge .
         If Open quantiy + Current Stock < Safety Stock
        IF itab_marc_mard-ordqty LE itab_marc_mard-eisbe.
         Minimum order qty = Safety Stock - (Open qty + current stock)
          itab_marc_mard-ordqty = itab_marc_mard-eisbe - ( it_po-menge +
    itab_marc_mard-labst )  .
           Move all the contents to the internal table it_sto ie Plant,
    Material and the Min Order Qty
           so that we can create PO based on this internal table
          it_sto-matnr = itab_marc_mard-matnr.
          it_sto-werks = itab_marc_mard-werks.
          it_sto-orqty = itab_marc_mard-ordqty.
    ENDFORM.                    " open_quantities
    *&      Form  CREATE_HEADER_ITEM
          text
    FORM create_header_item.
      LOOP AT it_sto.
    *--- Document date with flag
        ws_poheader-doc_date             = sy-datum.
        ws_poheaderx-doc_date            = ws_flg.
    *--- Document type with flag
        ws_poheader-doc_type             = 'Z3'(c01).
        ws_poheaderx-doc_type            = ws_flg.
    *--- Purchasing group with Flag
        ws_poheader-pur_group            = '005'.   " hardcoded
        ws_poheaderx-pur_group           =  ws_flg.
    *--- Purchasing Organization with flag
        ws_poheader-purch_org            = '2000'.
        ws_poheaderx-purch_org           = ws_flg.
    *--- Supply plant with flag
        ws_poheader-suppl_plnt           = '2000'.
        ws_poheaderx-suppl_plnt          = ws_flg.
    *--- Company Code with flag
        ws_poheader-comp_code            = '2000'.
        ws_poheaderx-comp_code           = ws_flg.
    *<--- assinging new item No.
        ws_posnr = ws_posnr + 10.
    *POPULATE ITEM DATA.
        tbl_poitem-po_item                 = ws_posnr.
        tbl_poitem-material                = it_sto-matnr.
        tbl_poitem-item_cat                = 'U'(c02).
        tbl_poitem-plant                   = it_sto-werks.
        tbl_poitem-quantity                = it_sto-orqty.
        APPEND tbl_poitem.
        CLEAR  tbl_poitem.
    *POPULATE ITEM FLAG TABLE
        tbl_poitemx-po_item                = ws_posnr.
        tbl_poitemx-po_itemx               = ws_flg.
        tbl_poitemx-material               = ws_flg.
        tbl_poitemx-plant                  = ws_flg.
        tbl_poitemx-item_cat               = ws_flg.
        tbl_poitemx-quantity               = ws_flg.
        APPEND tbl_poitemx.
        CLEAR  tbl_poitemx.
      ENDLOOP.
    ENDFORM.                    "CREATE_PO
    *&      Form
          text
    -->  p1        text
    <--  p2        text
    FORM create_purhase_order .
      CLEAR:  tbl_poitem,
              tbl_poitemx,
              ws_poheader,
              ws_poheaderx.
      REFRESH:  tbl_poitem,
                tbl_poitemx.
      CLEAR  : tbl_return.
      REFRESH: tbl_return.
    *<--- Bapi to create Purchase order
      IF NOT tbl_poitem[] IS INITIAL.
        CALL FUNCTION 'BAPI_PO_CREATE1'
          EXPORTING
            poheader         = ws_poheader
            poheaderx        = ws_poheaderx
          IMPORTING
            exppurchaseorder = ws_purchaseorder
          TABLES
            return           = tbl_return
            poitem           = tbl_poitem
            poitemx          = tbl_poitemx.
        READ TABLE tbl_return WITH KEY type = 'E'.
    *<--- Bapi to commit the changes
        IF sy-subrc <> 0.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              wait = 'X'.
        ENDIF.
      ENDIF.
      LOOP AT tbl_return.
    *<--- Ignore the warning messages
        IF tbl_return-type = 'W'.
          CONTINUE.
        ENDIF.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        IF tbl_return-type = 'S'.
          FORMAT COLOR COL_POSITIVE ON.
        ELSEIF tbl_return-type = 'W'.
          FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
        ELSEIF tbl_return-type = 'E'.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED OFF.
        ENDIF.
        WRITE:/3 tbl_return-type,12 tbl_return-id,20(85)  tbl_return-message
               86(10) tbl_return-field,95(20) tbl_return-system.
        FORMAT COLOR OFF.
      ENDLOOP.
    ENDFORM.                    " create_purhase_order
    *&      Form  get_open_quantities
          text
    -->  p1        text
    <--  p2        text
    FORM get_open_quantities .
      CHECK NOT it_mard[] IS INITIAL.
      SELECT      ekkoebeln ekpoebelp ekpowerks ekpomatnr
                  ekpomenge eketetenr eket~wemng
                  INTO CORRESPONDING FIELDS OF TABLE it_po
      FROM        ekko AS ekko
      INNER JOIN  ekpo AS ekpo
      ON          ekpoebeln EQ ekkoebeln
      INNER JOIN  eket AS eket
      ON          eketebeln EQ ekpoebeln AND
                  eketebelp EQ ekpoebelp
      FOR         ALL ENTRIES IN it_mard
      WHERE       ekko~bstyp EQ 'F'             AND
                  ekko~bsart EQ 'Z3'            AND
                  ekko~bsakz EQ 'T'             AND
                  ekko~loekz EQ space           AND
                  ekpo~matnr EQ it_mard-matnr   AND
                  ekpo~werks EQ it_mard-werks   AND
                  ekpo~loekz EQ space           AND
                  ekpo~elikz EQ space.
      SORT it_po BY ebeln ebelp etenr.
    delete entries where the schedule is complete, else copy to new table
      LOOP AT it_po.
        IF it_po-wemng GE it_po-menge.
          DELETE it_po.
        ELSE.
          MOVE-CORRESPONDING it_po TO it_po_2.
          APPEND it_po_2.
          CLEAR  it_po_2.
        ENDIF.
      ENDLOOP.
      SORT it_po_2 BY matnr werks.
    To determine the pending quantities of the materials at plant level
      LOOP AT it_po_2.
        AT NEW werks.
          it_po_pend-matnr = it_po_2-matnr.
          it_po_pend-werks = it_po_2-werks.
        ENDAT.
        it_po_pend-pendi = it_po_pend-pendi + it_po_2-menge - it_po_2-wemng.
        AT END OF werks.
          APPEND it_po_pend.
          CLEAR  it_po_pend.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " get_open_quantities
    *&      Form  determine_mat_qty_required
          text
    -->  p1        text
    <--  p2        text
    FORM determine_mat_qty_required .
      DATA: lv_eisbe LIKE marc-eisbe,
            lv_labst LIKE mard-labst,
            lv_menge LIKE eket-menge,
          lv_bstmi_old LIKE marc-bstmi,
            lv_bstrf_old LIKE marc-bstrf,
            lv_beskz_old LIKE marc-beskz,
            lv_sobsl_old LIKE marc-sobsl,
            lv_pendi LIKE eket-menge,
            lv_total_conf     LIKE ekpo-menge,
          lv_bstmi          LIKE marc-bstmi,
          lv_min_qty        LIKE marc-bstmi,
            lv_bstrf          LIKE marc-bstrf,
            lv_min_qty        LIKE marc-bstrf,
            lv_qty_req        LIKE mard-labst,
            lv_remainder      TYPE i.
      LOOP AT it_marc.
      safety stock
        lv_eisbe = it_marc-eisbe.
       lv_bstmi_old = it_marc-bstmi.
         lv_bstrf_old = it_marc-bstrf.
         lv_beskz_old = it_marc-beskz.
         lv_sobsl_old = it_marc-beskz.
        READ TABLE it_mard
        WITH KEY matnr = it_marc-matnr
                 werks = it_marc-werks
                 BINARY SEARCH.
        IF sy-subrc EQ 0.
        qty onhand
          lv_labst = it_mard-labst.
        ELSE.
          CLEAR lv_labst.
        ENDIF.
        READ TABLE it_po_pend
        WITH KEY matnr = it_marc-matnr
                 werks = it_marc-werks
                 BINARY SEARCH.
        IF sy-subrc EQ 0.
        PO pending qty
          lv_pendi = it_po_pend-pendi.
        ELSE.
          CLEAR lv_pendi.
        ENDIF.
      Total qty on hand & PO qty pending
        lv_total_conf = lv_labst + lv_pendi.
      Now determine if a PO is required for the material concerned.
        IF lv_total_conf < lv_eisbe.
          it_sto-matnr = it_marc-matnr.
          it_sto-werks = it_marc-werks.
          it_sto-eisbe = lv_eisbe.
        it_sto-bstmi = lv_bstmi_old.
          it_sto-bstrf = lv_bstrf_old.
          it_sto-beskz = lv_beskz_old.
          it_sto-sobsl = lv_sobsl_old.
          it_sto-labst = lv_labst.
          it_sto-pendi = lv_pendi.
        Actual Qty Required
          lv_qty_req = lv_eisbe - lv_total_conf.
         IF it_marc-bstmi IS INITIAL.
           IF it_marc-bstrf IS INITIAL.
            it_sto-orqty = lv_qty_req.
          ELSE.
           lv_bstmi = it_marc-bstmi.
           lv_min_qty = it_marc-bstmi.
             lv_bstrf = it_marc-bstrf.
             lv_min_qty = it_marc-bstrf.
            DO.
              IF lv_qty_req <= lv_min_qty.
                lv_qty_req = lv_min_qty.
                it_sto-orqty = lv_qty_req.
                EXIT.
              ELSE.
               lv_min_qty = lv_min_qty + lv_bstmi.
                 lv_min_qty = lv_min_qty + lv_bstrf.
              ENDIF.
            ENDDO.
          ENDIF.
          APPEND it_sto.
          CLEAR  it_sto.
        ENDIF.
      ENDLOOP.
      SORT it_sto BY werks matnr.
    ENDFORM.                    " determine_mat_qty_required
    *&      Form  print_details
          text
    -->  p1        text
    <--  p2        text
    FORM print_details .
      LOOP AT it_sto.
        WRITE:/ it_sto-werks UNDER text-h01,
                it_sto-matnr UNDER text-h02,
                it_sto-orqty UNDER text-h03,
                it_sto-eisbe UNDER text-h04,
              it_sto-bstmi UNDER text-h05,
                it_sto-bstrf UNDER text-h05,
                it_sto-labst UNDER text-h06,
                it_sto-pendi UNDER text-h07.
      ENDLOOP.
    ENDFORM.                    " print_details
    *&      Form  print_header
          text
    -->  p1        text
    <--  p2        text
    FORM print_header .
      WRITE:  AT 001 text-h01,
                 015 text-h02,
               030 text-h03,
               050 text-h04,
               070 text-h05,
               090 text-h06,
               110 text-h07.
                 030 text-h03 RIGHT-JUSTIFIED,
                 050 text-h04 RIGHT-JUSTIFIED,
                 070 text-h05 RIGHT-JUSTIFIED,
                 090 text-h06 RIGHT-JUSTIFIED,
                 110 text-h07 RIGHT-JUSTIFIED.
      NEW-LINE.
    ENDFORM.                    " print_header
    *&      Form  create_po
          text
    -->  p1        text
    <--  p2        text
    FORM create_po .
    *-Document date with flag
      ws_poheader-doc_date             = sy-datum.
      ws_poheaderx-doc_date            = ws_flg.
    *-Document type with flag
      ws_poheader-doc_type             = 'Z3'(c01).
      ws_poheaderx-doc_type            = ws_flg.
    *-Purchasing group with Flag
      ws_poheader-pur_group            = '005'.   " hardcoded
      ws_poheaderx-pur_group           =  ws_flg.
    *-Purchasing Organization with flag
      ws_poheader-purch_org            = '2000'.
      ws_poheaderx-purch_org           = ws_flg.
    *-Supply plant with flag
      ws_poheader-suppl_plnt           = '2000'.
      ws_poheaderx-suppl_plnt          = ws_flg.
    *-Company Code with flag
      ws_poheader-comp_code            = '2000'.
      ws_poheaderx-comp_code           = ws_flg.
      LOOP AT it_sto.
        AT NEW werks.
          CLEAR  tbl_poitem.
          CLEAR  tbl_poitemx.
          CLEAR  tbl_return.
          CLEAR  tbl_posched.
          CLEAR  tbl_poschedx.
          REFRESH tbl_poitem.
          REFRESH tbl_poitemx.
          REFRESH tbl_return.
          REFRESH tbl_posched.
          REFRESH tbl_poschedx.
          CLEAR ws_posnr.
        ENDAT.
        ws_posnr = ws_posnr + 10.
      Item Data
        tbl_poitem-po_item                 = ws_posnr.
        tbl_poitem-material                = it_sto-matnr.
        tbl_poitem-item_cat                = 'U'(c02).
        tbl_poitem-plant                   = it_sto-werks.
        tbl_poitem-quantity                = it_sto-orqty.
        APPEND tbl_poitem.
        CLEAR  tbl_poitem.
      Item X Data
        tbl_poitemx-po_item                = ws_posnr.
        tbl_poitemx-po_itemx               = ws_flg.
        tbl_poitemx-material               = ws_flg.
        tbl_poitemx-plant                  = ws_flg.
        tbl_poitemx-item_cat               = ws_flg.
        tbl_poitemx-quantity               = ws_flg.
        APPEND tbl_poitemx.
        CLEAR  tbl_poitemx.
      Schedule Data
        tbl_posched-po_item = ws_posnr.
        tbl_posched-sched_line = '0001'.
        tbl_posched-delivery_date = sy-datum.
        tbl_posched-quantity = it_sto-orqty.
        APPEND tbl_posched.
        CLEAR  tbl_posched.
      Schedule Data X
        tbl_poschedx-po_item = ws_posnr.
        tbl_poschedx-po_itemx = ws_flg.
        tbl_poschedx-sched_line = '0001'.
        tbl_poschedx-sched_linex = ws_flg.
        tbl_poschedx-delivery_date = ws_flg.
        tbl_poschedx-quantity = ws_flg.
        APPEND tbl_poschedx.
        CLEAR  tbl_poschedx.
        AT END OF werks.
        Create the PO
          CALL FUNCTION 'BAPI_PO_CREATE1'
            EXPORTING
              poheader         = ws_poheader
              poheaderx        = ws_poheaderx
            IMPORTING
              exppurchaseorder = ws_purchaseorder
            TABLES
              return           = tbl_return
              poitem           = tbl_poitem
              poitemx          = tbl_poitemx
              poschedule       = tbl_posched
              poschedulex      = tbl_poschedx.
          LOOP AT tbl_return WHERE type EQ 'E' OR type EQ 'A'.
            EXIT.
          ENDLOOP.
        If Loop is false - then no error occurred
          IF sy-subrc NE 0.
          No Errors - Commit
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
              EXPORTING
                wait = 'X'.
          ENDIF.
          SKIP.
          LOOP AT tbl_return.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            IF tbl_return-type = 'E' OR tbl_return-type = 'A'.
              FORMAT COLOR COL_NEGATIVE INTENSIFIED OFF.
            ELSEIF tbl_return-type = 'W'.
              FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
            ELSE.
              FORMAT COLOR COL_POSITIVE ON.
            ENDIF.
            WRITE:/3 tbl_return-type,12 tbl_return-id,20(85)
    tbl_return-message,
                   86(10) tbl_return-field,95(20) tbl_return-system.
            FORMAT COLOR OFF.
          ENDLOOP.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " create_po

    Hi,
    first you can store these 2 dates into some internal table sat it_sobid  and it_ObjectID.Now
    sort  it_sobid ascending.
    loop at  it_ObjectID.
    Read date from  it_sobid  binary search index sy-index.
    it_ObjectID-date =  it_sobid-date.
    flag = 'y'.
    endloop.
    you can write some logic like this. Its just a rough idea you can modify according to ur need.
    Regards,
    Ravi

  • HI ALL SINCE TWO DAYS I AM DOWNLOADING VIBER BUT I AM NOT HAVING MY ACCESS CODE AND EVERY TIME I DELETE THE APPLICATION AND DOWNLOADING IT AGAIN BUT ALWAYS THE SAME RESULT PLEASE I NEED YOUR HELP FOR THE ACCESS CODE.MY PHONE NUMBER IS 0022996969896.THANKS

    HI ALL SINCE TWO DAYS I AM DOWNLOADING VIBER BUT I AM NOT HAVING MY ACCESS CODE AND EVERY TIME I DELETE THE APPLICATION AND DOWNLOADING IT AGAIN BUT ALWAYS THE SAME RESULT PLEASE I NEED YOUR HELP FOR THE ACCESS CODE.MY PHONE NUMBER IS 0022996969896.THANKS IN ADVANCE

    try this website this should help you http://helpme.viber.com/index.php?/Knowledgebase/List/Index/1/iphone

  • Need ABAP code for the below Services requirement

    Hi,
    We have a requirement to show all the services for a particular Purchase order number.For this I built a view on 2 tables ESLL and EKPO.Now based on the below logic I need to bring the services for the Purchase order..
    1.Enter PO number,item no. and Doc category in EKPO and find the Pack no.
    2.Now take the Pack no. of EKPO and give in ESLL and find the Sub pack no.
    3.Now take this Subpack no. and Give this sub pack as Pack no. in ESLL
    4.This will be the Service entry record for that PO number.
    Can any one Please suggest me to how to write the ABAP code for the above logic.
    Thanks & Regards,
    Dinakar

    Hi Dinaker,
    Did you find any solution for this issue. I too have a similar requirement of pulling all the service orders for a specific Purchase Order in the BW report.
    Thanks,
    SAPBWI

  • Hi friends need your help for the following !

    How to populate an idoc type.
    Is it only by writting a report program like
    "master idoc distribute"  or also by NACE.
    When i am using NACE then i must have the baic idoc type cretaed  with ALE configured ??

    Hi,
      It is not always by using NACE. If ur making use of standard IDOC types Like
    ORDERS05
    MATMAS06
    DEBMAS etc for the salesorder and purchase orders etc then u can go for the
    T.codes : BD10 for MATMAS05,
                   BD12 for CREMAS06,
                   BD14 for DEBMAS04 for the MM01, VD01 and MK01/XK01  T.codes Respectively.
    If u r dealing with NACE then u should know the basic idoc for which u r using NACE and Messgae type .
    There u will cofigure and assign the OUTPUTYPE and assign those outputtype to the respective T.code.
    Regards.

  • Provide Feedback for the Logic Pro User Manual and Onscreen Help Here

    The Apple documentation team for Logic Pro would like to know what you think about the Logic Pro Help documentation (available in the Help menu):
    • How often do you use Logic Pro Help? Under what circumstances do you use it most?
    • Do you use the printed manual or the onscreen help more? Which one do you prefer?
    • How do you find what you're looking for in Logic Help: table of contents, index, skimming, PDF links, PDF search?
    • What do you like about the Logic help?
    • What would you like to see us improve? What is missing?
    • What needs more in-depths coverage in the Logic help?
    • In learning Logic, did you use the Logic Getting Started Guide? If so, do you feel the book provided a good introduction to the application? Is there anything you can think of that would make the Getting Started Guide more helpful to you? Did you use the tutorial song that accompanies the Getting Started guide?
    • What are the most important concepts/features a new user has to understand to get started with Logic?
    • By what method do you ususally learn a new application? For example: provided manuals, third-pary tutorials or books, training classes?
    • Are there any particular examples of manuals or online help that you consider to be good models for the Logic Pro manual and onscreen help?
    • What do you think is the most difficult feature/concept to grasp in Logic Pro?
    • What's the most frustrating experience you've had with the Logic Pro documentation?
    • Are there any other methods of delivery or media you think we should explore?
    • What size of computer display do you typically use to view the onscreen help? For example: 12, 15, 17, 20, 23, or 30-inch?
    • What resolution is the computer display set to when viewing Onscreen Help? For example: 1024 x 768, 1280 x 854, or 1920 x 1200 pixels?
    • Do you use multiple computer displays?

    • How often do you use Logic Pro Help? Under what
    circumstances do you use it most?
    I use it often. not everyday, but there is always some little command or procedure that you can't remember
    • Do you use the printed manual or the onscreen help
    more? Which one do you prefer?
    I use them both, but the onscreen help a little more often. Some times I like to walk away from the computer and sit on the couch and read the manual, just to have a change of scenery
    • How do you find what you're looking for in Logic
    Help: table of contents, index, skimming, PDF links,
    PDF search?
    Table of contents and search
    • What do you like about the Logic help?
    It's right there on the computer, and being able to search by key words
    • What would you like to see us improve? What is
    missing?
    I think real time animation would be real cool but I doubt that is practical
    • What needs more in-depths coverage in the Logic
    help?
    Things that Logic has and you won't find in other programs, like explaining the environment in more detail. how to make better use of transformers. The Transform window could be explained more clearly.
    • In learning Logic, did you use the Logic Getting
    Started Guide? If so, do you feel the book provided a
    good introduction to the application? Is there
    anything you can think of that would make the Getting
    Started Guide more helpful to you? Did you use the
    tutorial song that accompanies the Getting Started
    guide?
    I didn't use it, although it looks great, I went right into the reference manual. I did look at the tutorial song, which was nice cause it gave me some hands on experience with moving things around
    • What are the most important concepts/features a new
    user has to understand to get started with Logic?
    Logic is different that other DAW's. Logic's way of doing things may seem real strange to someone who came from using another program. as I said before, spend more time on things that are only found in Logic, like the environment. It really frightens some people.
    Many of the questions here in this forum are midi related. people seem to be having a real hard time making midi work in Logic. The manual could be more detailed in explaining midi communication and how the environment is the heart of all of this
    • By what method do you usually learn a new
    application? For example: provided manuals,
    third-pary tutorials or books, training classes?
    Provided manuals and a lot of trial and error. Also forums such as this are a great asset
    • Are there any particular examples of manuals or
    online help that you consider to be good models for
    the Logic Pro manual and onscreen help?
    No, logic's manual is as good as most others.
    • What do you think is the most difficult
    feature/concept to grasp in Logic Pro?
    For me it was the transform window, it took me a while to get the hang of it. none of the other programs I worked in had anything quite like it.
    • What's the most frustrating experience you've had
    with the Logic Pro documentation?
    there are a few errors, so it is frustrating when you are following the manual but not achieving your goal. For example, page 112 says:
    There are two possible locations for user icons:
    The ~/Library/Application Support/Logic/Logic Resources/Icons folder can contain icons which are only valid for the particular user (~ is the user name). If you save your icons in the root directory—/Library/Application Support/Logic/Logic Resources/Icons—the icons are valid for all users. If icons with identical numbers exist in both folders, the icons found in the user folder have priority.
    But this is not the case, they actually go in /Library/Application Support/Logic/images/Icons
    there was a couple other mistakes like this too, but i can't remember right now
    • Are there any other methods of delivery or media
    you think we should explore?
    If you wanted to get into doing video tutorial, that would be cool. there is a web site called atomic learning http://www.atomiclearning.com/ they have quicktime video tutorials for a ton of different software applications, some apple, and for a flat fee of 79.99 for a year you can spend as much time as you like learning all of the software applications. I may sign up to learn Web design, and maybe final cut pro. Apple could do something like that for all of the apple software and do it much better I would think, and you guys would make a fortune. well I guess not compared to the fortune you are already making
    • What size of computer display do you typically use
    to view the onscreen help? For example: 12, 15, 17,
    20, 23, or 30-inch?
    20 in cinema display
    • What resolution is the computer display set to when
    viewing Onscreen Help? For example: 1024 x 768, 1280
    x 854, or 1920 x 1200 pixels?
    1344 X 840
    • Do you use multiple computer displays?
    no, just the one

  • Need help for the $200 promo rebate for trade-in of I Phone 4

    Need help for the $200 promo rebate for trade-in of I Phone 4.  Unable to preregister when I ordered the new 6  in September.  Now can not contact VZW recycle program regarding.

    When I ordered my phone on Sept. 13th in a Verizon store, I had to ask the salesman how I went about getting the $200 rebate. He said shipping materials would come with the new phones. When I received the confirmation e-mail of my order, it contained a link for the rebate. Fortunately I clicked on the link, filled out the form online, and received the packing materials to send my phone in shortly after. My phones came in on Oct. 14th and I sent 3 of them back. So far I have received a gift card for $200 for 2 of the phones; the other is showing not received. I don't know what your situation is, but I think the promotion ended Oct. 15th. If I had listened to the salesman I think I would be out of luck as well. I hope I am wrong for your sake.

  • I need heed help for Handle the JButton

    hi, guys
    I am writing a small program
    It has name and number field.
    It also has the first, privious, next , last and add buttons.
    i want to load the myData.txt file to the name and number field.
    and I want to make the buttons handle the events.
    and when the application is closed, it will save the data into the files.
    I can assign the the add button to save the files, and save the data when it is closed, but I can not make it save more than one record.
    i need ur help to the rest of the buttons, and load the file back to the field.
    andy suggestion would be great!
    Thank !
    here codes
       import javax.swing.*;
       import java.awt.event.*;
       import java.awt.*;
       import javax.swing.event.*;
       import java.io.*;
        public  class buttonAction extends JFrame
          private JLabel nameL;
          private JLabel numberL;               
          private JTextField name;
          private JTextField number;
          private JButton first;
          private JButton prev;
          private JTextField current;
          private JButton next;
          private JButton last;
          private JButton add;
          private JButton exit;
          private final int winw = 410;
          private final int winh = 200;
           private buttonAction()
             super("Wage Calculate");
             setSize(winw, winh);
             setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
             addWindowListener(new Closing());
             setLayout (new BorderLayout());
             loadData();        
             buildPanel();
             buildButtomButtons();
             setVisible(true);
           private void buildPanel()
             nameL = new JLabel("Name:");
             numberL = new JLabel("Number:");
             name = new JTextField(10);
             number = new  JTextField(5);
             JPanel panel =new JPanel();
             panel.setLayout(new GridLayout(2,1));
             panel.add(nameL);
             panel.add(name);
             panel.add(numberL);
             panel.add(number);
             add(panel, BorderLayout.NORTH);
           private void buildButtomButtons()
             first = new JButton("First");
             prev = new JButton("Prev");
             current = new JTextField(5);
             current.setEditable(false);
             next = new JButton("Next");
             last = new JButton("Last");
             add = new JButton("Add");
             exit = new JButton("Exit");
             JPanel button = new JPanel();
             first.addActionListener(new ButtonListener());
             prev.addActionListener(new ButtonListener());
             current.addActionListener(new ButtonListener());
             next.addActionListener(new ButtonListener());
             last.addActionListener(new ButtonListener());
             add.addActionListener(new ButtonListener());
             button.add(first);
             button.add(prev);
             button.add(current);
             button.add(next);
             button.add(last);
             button.add(add);
             add(button, BorderLayout.SOUTH);
            // save the data into the file when the application is close
           public class Closing extends WindowAdapter
              public void windowClosing(WindowEvent e)  
                try {
                   PrintWriter out = new PrintWriter (new FileWriter("myData.txt"));
                   out.println (name.getText());
                   out.println(number.getText());
                   out.close();
                    catch (IOException ee) {
                   // Happens if the file cannot be written to for any reason
                      JOptionPane.showMessageDialog(null, "Could not save the file " + ee.getMessage());
                System.exit(0);
           private void loadData()
             try {
                BufferedReader fileReader = new BufferedReader(new FileReader(new File("myData.txt")));
                String lineRead = fileReader.readLine();
                  // I need help how to load the data
                 catch (FileNotFoundException e)
                   e.printStackTrace();
                 catch (IOException e) {
                   e.printStackTrace();
            //handle the first, previous, next, last, add buttons
           private class ButtonListener implements ActionListener
              public void actionPerformed(ActionEvent e)
                Object button = e.getSource();
                if (button == add)
                   try
                      PrintWriter out = new PrintWriter (new FileWriter("myData.txt"));
                      out.println (name.getText());
                      out.println(number.getText());
                      out.close();
                       catch (IOException ee)
                      // Happens if the file cannot be written to for any reason
                         JOptionPane.showMessageDialog(null, "Could not save the file " + ee.getMessage());
                        //I need help for the first, privious and last buttons
           public static void main(String[] args)
             buttonAction pr = new buttonAction();
       }

    are you trying to load a multi line textfile int a JTextField? If you try to load this in a while loop as you read the file, it will zoom through the file, and you will probably only see the last line of the file (or nothing if the last line is blank) in the jtextfield. Consider using a JTextArea or some other component that can hold multiple lines. Also your file reading method calls look wrong to me. You appear to read a line, then continually check if that one read line is null, and if not do a while loop, that looks to loop forever. Look at the java I/O examples for how to do this right.
    Good luck

  • I have logic pro studio 8 and the upgrade, however it will not upload on my mac book pro. It says i need a product key for the logic 9 and it come with one.

    I have logic pro studio 8 and the upgrade (logic pro 9) and it will not load up to my new mac book pro.  Its asking for a product key for the logic pro 9 upgrade and there wasn't one in the box.  i need some help

    Contact AppleCare... Explain you are a Logic User and you should be transfered to a Product Specialist to assist you with your Issue.

  • I Need Help for the popup message every time I go to safari: "Warning! Old version of Adobe Flash Player detected. Please download new version."???

    I Need Help for the popup message every time I go to safari: "Warning! Old version of Adobe Flash Player detected. Please download new version."???

    If you are talking about Safari on the iPad, there is no version of Adobe Flash for iOS and there never has been. Clear Safari, close the app and reset the iPad.
    Go to Settings>Safari>Clear History and Website Data
    In order to close apps, you have to drag the app up from the multitasking display. Double tap the home button and you will see apps lined up going left to right across the screen. Swipe to get to the app that you want to close and then swipe "up" on the app preview thumbnail to close it.
    Reset the iPad by holding down on the sleep and home buttons at the same time for about 10-15 seconds until the Apple Logo appears - ignore the red slider if it appears on the screen - let go of the buttons. Let the iPad start up.
    If you are talking about Safari on your Mac, you are in the wrong forum. But I would still clear the cache, quit Safari and restart the Mac.

  • Need a recommendation for the best LP turntable to transfer lps to iTunes library...recieved a SONY that is recommended for windows only. Have a brand new SONY ps-lx300USB recieved as a gift that only says they will not guarentee results w/ mac.Help.

    Need a recommendation for the best LP turntable to transfer lps to iTunes library...recieved a SONY that is recommended for windows only. Have a brand new SONY ps-lx300USB recieved as a gift that only says they will not guarentee results w/ mac. Please Help.

    Just use that turntable with -> Audacity

  • Providing F4 help for the same field on selection screen

    Hello Experts,
    My requirement is :
    There are 2 radio buttons and a parameter "p_file" on my selection scree.
    1. rb_appl
    2. rb_pres
    If the radio button rb_appl = 'X', I need to place the logic of F4 help of application server for the field p_file. Else if the rb_pres = 'X', then I need to place the logic of F4 help of presentation server for the same field p_file.
    I have written the code in the below manner
    PARAMETERS: rb_appl RADIOBUTTON GROUP rad DEFAULT 'X',
                             rb_pres RADIOBUTTON GROUP rad ,
                             p_file   TYPE ibipparms-path.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      IF rb_appl = 'X'.
          PERFORM f_applictn_server_filenm.
      ELSEIF rb_pres = 'X'.
        PERFORM f_presentation_filenm.
      ENDIF.
    But I am getting the F4 help for only the radio button for which i have placed the default value in the parameters.
    So please let me know how to define the F4 help for the same field based on the radio buttons.

    Hi,
    You can acheive the same by the addition of [USER-COMMAND fcode].
    RADIOBUTTON GROUP group [USER-COMMAND fcode] - The addition USER-COMMAND can be used to assign a function code fcode to the first parameter in a radio button group. The function code fcode must be specified directly, and have a maximum length of 20 characters. When the user selects any radio button of the radio button group on the selection screen, the runtime environment triggers the event AT SELECTION-SCREEN and transfers the function code fcode to the component ucomm of the interface work area sscrfields.
    So you code should be altered as
    PARAMETERS: rb_appl  RADIOBUTTON GROUP rad
                         USER-COMMAND radclick    "Addition which you have to make.
                         DEFAULT 'X',
                rb_pres  RADIOBUTTON GROUP rad ,
                p_file   TYPE ibipparms-path.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      IF rb_appl = 'X'.
        PERFORM f_applictn_server_filenm.
      ELSEIF rb_pres = 'X'.
        PERFORM f_presentation_filenm.
      ENDIF.
    Thanks & Regards,
    Harish

  • Need abaper help

    Hi abapers,
    Iam an SD consultant and new to SAP. I have one requirement for which i need your help.
    The client wants the following things:
    Marketing Informations In Terms Of Area Budget, Amount Spent At Any Given Point Of Time, Breakup Of Expenditure Among Diff. Activities Should Be Accessible To The Sales Team.
    Can anyone tell me how to create a report having these information. Please do mention what information shall i pass to my ABAPer team who is at the client site.
    Thanks in advance,
    Sourav

    Hi Matt,
    I have already mentioned what the ABAP team is looking for. It seems a report has to be made containing these information which is mentioned in the question.
    I need to know how to identify the tables and field names and then how to make a funtional specs. from this.
    If you can guide, i will be obliged.
    Thanks,
    Sourav

  • An RFC destination could not be specified for the logical system

    Hello Experts,
    I am trying post goods receipt in EWM system in a simple inbound delivery process. It is not getting posted back in ECC. I have my RFC connection setup properly(I assume since I was able to transfer inbound delivery to EWM in first place).It seems some setting related to Outbound queue in EWM is missing.Can anyone tell me in detail what settings are required?Is it something to do with WE20 transaction?I am not sure what settings should be done there.The error log is as below-
    An RFC destination could not be specified for the logical system
    SB3CLNT011
    Message No. B1550
    Diagnosis
    An RFC destination should be specified for the logical system SB3CLNT011.
    This could not be done in this case. SB3CLNT011 is not your local logical system
    and this system is not included in the relevant Customizing tables.
    Procedure
    Check:
    RFC
    destination
    Port
    definitions
    oubound partner profile of
    message type SYNCH for this logical system
    Regards,
    Khushboo

    Hi Oritra and Suraj,
    I have checked remote connection in SM59 for both the logical system.It works fine.I understand this is more of a technical issue,but I don't have A local basis team to help me so reaching out to experts here.Can you guide me what technical settings could be checked for EWM-->ECC connection?When I execute BD82 for SB3CLNT011 it shows me green status with message "No messages have been defined for the selection conditions in the model".
    Although when I do this for EWM logical system SB3CLNT012 it shows me this with all green status-
    System SB3CLNT011 as a partner type already exists
    System SB3CLNT012 as a partner type already exists
    Port A000000018 with RFC destination SB3CLNT011 already exists
    Outbound parameters for message type SHP_IBDLV_CHANGE SHP_IBDLV_CHANGE01 already
    Outbound parameters for message type SHP_IBDLV_SAVE_REPLICA SHP_IBDLV_SAVE_REPLI
    Outbound parameters for message type SYNCH SYNCHRON already exist
    Am I missing something in WE20?
    Regards,
    Khushboo

  • F4 HELP  for the field

    HI all,
    in the report selection screen i have one field for which F4 HELP  doesnt exits, even in the table for that field F4 HELP is not there but the user requests me to get the F4 HELP for that field in the selection screen .
    please help how to get F4 HELP  for the field
    thanks in advance.

    The following are the options for F4 help
    Code:
    PARAMETERS: p_ccgrp LIKE rkpln-ksgru. "Cost Center Group
    *Input help for Cost Center Group
    AT SELECTION-SCREEN ON VALUE-REQUEST   FOR p_ccgrp.
    TYPES: BEGIN OF ty_ccenter_group,
    setname TYPE setnamenew,
    descript TYPE settext,
    END OF ty_ccenter_group.
    DATA: it_ccenter_group TYPE TABLE OF ty_ccenter_group.
    CLEAR it_ccenter_group.
    SELECT a~setname
    b~descript
    INTO TABLE it_ccenter_group
    FROM setheader AS a INNER JOIN
    setheadert AS b ON
    asubclass EQ bsubclass AND
    asetname EQ bsetname
    WHERE a~setclass EQ '0101' AND
    b~langu EQ sy-langu.
    CALL FUNCTION 
    'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    ret field        =  'SETNAME'
    dynpprog     =  v_repid
    dynpnr         =    SY-DYNR
    dynprofield = 'P_CCGRP'
    value_org    = 'S'
    TABLES
    value_tab   = it_ccenter_group.
    F4IF_FIELD_VALUE_REQUEST:
    This FM is used to display value help or input from ABAP dictionary. We have to pass the name of the structure or table (TABNAME) along with the field name (FIELDNAME). The selection can be returned to the specified screen field if three
    parameters DYNPNR, DYNPPROG, DYNPROFIELD are also specified or to a table if RETRN_TAB is specified.
    CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
    TABNAME = table/structure
    FIELDNAME = 'field name'
    DYNPPROG = SY-CPROG
    DYNPNR = SY-DYNR
    DYNPROFIELD = 'screen field'
    IMPORTING
    RETURN_TAB = table of type DYNPREAD
    Getting F4 help based on other  field  .
    Suppose  if there  are  2 fields on selection screen  user name and Purchasing Document  and  the case is getting values of  Purchasing Document Number  based on  user name
    Code:
    TYPES:   BEGIN OF ty_match_nast,
                    objky TYPE na_objkey,
                    END OF ty_match_nast.
    Data: it_match_nast   TYPE STANDARD TABLE OF ty_match_nast.
    Data: it_dypr_val   TYPE STANDARD TABLE OF dynpread.
    DATA: wa_dypr_val  TYPE dynpread.
    DATA: it_return TYPE STANDARD TABLE OF ddshretval.
    Case when only username value is entered.
           SELECT objky
            FROM   nast
            INTO  TABLE it_match_nast
             WHERE kappl  = c_ef
             AND   kschl = c_neu
             AND   usnam = wa_dypr_val-fieldvalue.
          ENDIF.
    *Read User name  on  selection screen field value
      CLEAR wa_dypr_val.
      REFRESH it_dypr_val.
      wa_dypr_val-fieldname = 'P_UNAME'.      "User name
      APPEND wa_dypr_val TO it_dypr_val.
    *FM to get the value
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname             = sy-repid
          dynumb             = sy-dynnr
          translate_to_upper = 'X'
        TABLES
          dynpfields         = it_dypr_val_h.
    *Pass the values to f4 table
       CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
          EXPORTING
            retfield     = u2018OBJKY'
            dynpprog    = sy-repid
            dynpnr      = sy-dynnr
            dynprofield = 'P_EBELN'
            value_org   = 'P'
         TABLES
            value_tab   = it_match_nast
            return_tab  = it_return.

Maybe you are looking for

  • How do you get your purchased items on apple tv to you i tunes on your computer

    How do you get your purchased items on apple tv to you i tunes on your computer

  • Rough cut planning-sop

    Dear Friends, For doing roughcut plan for one finished good , first i have created versions as per product group.then next step is disaggregate to sub groups. then after to material. now i got planning qty's for particular material. to do roughcut pl

  • Media Encoder Dynamic Link error 5027 :: 12  ????

    While trying to send a file to media encoder from after effects in order to render in a file format not located within ae i was given an error message that my adobe media encoder was not installed 5027 :: 12 dynamic link server failed . When i launch

  • Dragging Icons stops working after organizing using drag and drop. Why?

    On the newest MBA (2013) While organizing my music I was creating new folders within the artists' folder in order to seperate things into albums. sometimes when im dragging the songs into this newly created folder ( I drag them in  like groups of 10

  • VERY IMPORTANT FOR LOOP QUESTION

    public class ForTest2 {      public static void main(String args[]) {           int i=0, j = 0;           for (j=0; j < 10; j++) {                i++;                System.out.println("i is: " + i);                System.out.println("j is: " + j);