Help for a Logic Newbee

A couple of questions if possible. Actually, I will likely have more down the road.
Why would an audio track have a midi channel designation in the Inspector window?
Why, if I want to only create a single external midi instrument would Logic assume it's going to be a GM module and clutter up the Mixer with 15 additional strips.
If I create more than 16 external midi tracks, lets say to drive multiple Giga Samplers, why is there only 16 strips in the Mixer window. How do I control the rest.
I really like a lot of the feature of Logic which is why I bought the upgrade and trying again to get my head wrapped around it, but Logic just doesn't seem very logical in a lot of ways. I've been a DP and Cubase guy for years and have recently just attacked ProTools, which is also pretty poorly designed in a lot of ways IMHO, but I can still find my way around them all. Logic, not so much. When Apple get's input on this product, do they seek the advise of real end users that aren't already using Logic?

Why would an audio track have a midi channel designation in the Inspector window?
because automation, control surface integration, etc. uses midi events
Why, if I want to only create a single external midi instrument would Logic assume it's going to be a GM module and clutter up the Mixer with 15 additional strips.
most likely because a GM device is all you have in your environment
If I create more than 16 external midi tracks, lets say to drive multiple Giga Samplers, why is there only 16 strips in the Mixer window. How do I control the rest.
create another multi instrument in your environment
When Apple get's input on this product, do they seek the advise of real end users that aren't already using Logic?
of course, they care about everyones opinion. I think....., well maybe......., uh, I don't know

Similar Messages

  • Simple transitions help for an FCP newbee

    Am moving from iMovie6 to Final Cut Pro 5 as I didn't like iMovie8 and there's been a lot of talk on the iMovie board about how FCP will probably work better for people like me...
    I'm a real newbee to FCP so I'm going to embarrass myself here and ask a really simple question that I can't for the life of me get an answer to.
    How do you add a simple fade up to the start of a clip? It would seem that the Fade in-Fade out Dissolves in Effects is designed to join two different clips. I have a clip that cuts to black and the next clip I want to start on a fade up from black.
    How do I do this?
    Also, how do I do a really simple fade to black???
    Forgive me for asking such a dumb question but I just can't find the answer in the Help file (guess the question is way too simple!).
    Thanks!

    I just tried ramping the clips opacity and I got my fade in just fine, but in order to get the clip fading in from black, I had to go back to the rushes, reselect the clip I wanted and then when the cursor was at the start of the clip, open the opacity and adjust it to go from 0 to 100 in 12 frames. Then I added this clip to my timeline via overwrite, thereby overwriting the same (old) clip that didn't have the fade in. However, I'm not quite ready to mark this question as answered as how do I now add a fade in on a clip that is already in my timeline? Do I have to make the transition decision before I add the clip to the time line or is there some clever way of adjusting the opacity of the clip once it is in the time line and therefore in the edit?
    Thanks!

  • 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

  • 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

  • Help for insert logic

    Hi,
    I need insert data into data in below format.
    In procedure IN parameter will recieve all below fields with underscore(_) and records with coma (,) sepate.Then i need to split and insert finally.Could ypu please help.
    For ex:
    procedure IN parameter will recieve i/p like below
    'C2-159411_2011_NOVEMBER_21-FEB-12_048991_003072_BIOLOGY_HL_PAPER TWO__45,
    C2-159433_2011_NOVEMBER_26-FEB-12_003767_000434_BUS.& MAN._EE_EXTENDED ESSAY__15'
    then i need to split like
    first record:C2-159411,2011,NOVEMBER,21-FEB-12,048991,003072,BIOLOGY,HL,PAPER TWO,45
    second record:C2,159433,2011,NOVEMBER,26-FEB-12,003767,000434,BUS.& MAN.,EE,EXTENDED ESSAY,15
    insert INTO eur_c2_requests
                  c2_request_id, YEAR, MONTH,date_submitted, requestor_id, school_code,subject_option, lvl, component, candidate_id,  no_of_cands
                VALUES
                  v_c2_request_id,v_year, v_month, sysdate,v_requestor_id,v_school_code, v_subject_option,v_lvl, NULL,v_candidate_id, 1
                );

    Generally passing multiple values in a single parameter is not a good approach. Any solution to parse such parameter can break at some point of time based on the value passed.
    But any way there are lot of ways to parse such strings. One is like this.
    "afiedt.buf" 21 lines, 830 characters
      1  with t
      2  as
      3  (
      4  select 'C2-159411_2011_NOVEMBER_21-FEB-12_048991_003072_BIOLOGY_HL_PAPER TWO__45,C2-159433_2011_NOVEMBER_26-FEB-12_003767_000434_BUS.& MAN._EE_EXTENDED ESSAY__15' str
      5    from dual
      6  )
      7  select regexp_substr(str, '[^_]+', 1, 1) col1
      8       , regexp_substr(str, '[^_]+', 1, 2) col2
      9       , regexp_substr(str, '[^_]+', 1, 3) col3
    10       , regexp_substr(str, '[^_]+', 1, 4) col4
    11       , regexp_substr(str, '[^_]+', 1, 5) col5
    12       , regexp_substr(str, '[^_]+', 1, 6) col6
    13       , regexp_substr(str, '[^_]+', 1, 7) col7
    14       , regexp_substr(str, '[^_]+', 1, 8) col8
    15       , regexp_substr(str, '[^_]+', 1, 9) col9
    16       , regexp_substr(str, '[^_]+', 1, 10) col10
    17    from (
    18            select regexp_substr(str, '[^,]+', 1, level) str
    19              from t
    20            connect by level <= length(str) - length(replace(str, ',')) + 1
    21*        )
    SQL> /
    COL1                 COL2                 COL3                 COL4                 COL5                 COL6                 COL7                 COL8                 COL9                 COL10
    C2-159411            2011                 NOVEMBER             21-FEB-12            048991               003072               BIOLOGY              HL                   PAPER TWO            45
    C2-159433            2011                 NOVEMBER             26-FEB-12            003767               000434               BUS.& MAN.           EE                   EXTENDED ESSAY       15
    SQL>

  • Please  help for this Logic

    Hi Guys,
    We are having a problem translating these scenario to codes:
    <b>Total = 1600</b>
    <b>Given items:</b>
    200
    300
    400
    900
    to get the total we need to add (900 + 400 + 200) to get the exact value. 
    other scenarios: Total: 1350, 750, etc...
    In all scenarios.. the less number of items added and closest sum to the total should be chosen.
    Thanks in advance!
    Regards,
    Mike

    by the way guys... the items could be randomed in a i_table. thanks!

  • F4 Help for Logical file

    Hi All,
    i've declared a parameter where end-user can specify the logical file name. can anyone provide the code for F4 help for logical file name.
    Regards
    Faisal

    Declare this :-->
    PARAMETERS: p_apsvr  LIKE rlgrap-filename OBLIGATORY.
    AT selection Screen
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_apsvr.
      PERFORM get_apsvr_path.
    FORM get_apsvr_path .
      CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
        EXPORTING
          directory        = p_apsvr
          filemask         = '*'
        IMPORTING
          serverfile       = p_apsvr
        EXCEPTIONS
          canceled_by_user = 1
          OTHERS           = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " get_apsvr_path

  • 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

  • Please Help for RME fireface400 with Logic Studio 8

    Please I do ask help for configuration of audio interface RME fireface400 with iMac OS 15.5.5, I have problem in output 7/8 monitor phones(no sound or crack sound) and look Fireface Mixer in to the desktop monitor. Where is the problem? I have drive 2.62a.
    Thanks for answer, also in Italiano
    Graz

    Have you tried the RME userforum?
    http://rme-audio.de/forum/index.php
    Maybe you problem is running OS 15.5.5 - must be a beta version

  • 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

  • Need to restrict values in F4 help for Batch Characteristic

    Hi,
    I need to restrict values in F4 Help for a batch characteristic based on values entered for another characteristic. I could not find any BADI or Exit for this purpose. There is a BADI CACL_VALUE which is triggered after an entry is selected from dropdown list but nothing when we press F4. I thought of using Object Dependency but I need to write a programming logic for the requirement. Please let me know if there is any way to write program in Object Dependency or any other way for this requirement.
    Regards,
    Nikhil

    Hi nikhil simha,
    first of all, find out which search help is called.
    [Hierarchy of the Search Help Call|http://help.sap.com/saphelp_nw70/helpdata/en/0b/32e9b798da11d295b800a0c929b3c3/frameset.htm]
    may help you.
    If you know the search help, you may enhance it, but first of all you should check the where-used-list and make sure that the search help shows the requested behavior only in the context where you want it to.
    If it is your own program, you may be better off to create your own search help and define the triggering fields as search help interface input fields. Then you can use the values to filter results.
    Regards
    Clemens

  • F4 HELP for standard field..

    i want to put F4 help for standard field FERTH in mm01 and mm02 ...
    is there any way to put F4 help for this field..

    try this
    1. First go to SE11 and create your own search help( if you dont know how to create a search help please feel free to ask me, it is very easy).
    2. Now in your module pool program program go to the layout of your screen.
    3. Now when you see the attributes of this field in the Dict tab you will find the field Search Help. Now here you can specify the name of the search help you created in SE11.
    There is also another mehtod to create the dynamic search help. eg:- in a posted document data get the Document nos related to that company code.
    The sample code is like this:-
    First of all declare the module below in the flow logic of your screen then create it in your main program.
    You declare the module in the PROCESS ON VALUE-REQUEST.
    PROCESS ON VALUE-REQUEST.
    FIELD TXT_DOCNO MODULE VALUE_BELNR.
    You also need to create an internal table where you wil store results of the select query fired below in the module.
    here you will get a F4 help on the filed Document Number(TXT_DOCNO) based on the field Company code (TXT_CODCO)
    MODULE VALUE_BELNR INPUT.
    progname = sy-repid.
    dynnum = sy-dynnr.
    CLEAR: field_value, dynpro_values.
    field_value-fieldname = 'TXT_CODCO'.
    APPEND field_value TO dynpro_values.
    CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
    tabname = 'BKPF'
    fieldname = 'BUKRS'
    dynpprog = progname
    dynpnr = dynnum
    dynprofield = 'TXT_CODCO'.
    CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
    dyname = progname
    dynumb = dynnum
    translate_to_upper = 'X'
    TABLES
    dynpfields = dynpro_values.
    READ TABLE dynpro_values INDEX 1 INTO field_value.
    SELECT BUKRS BELNR
    FROM BKPF
    INTO CORRESPONDING FIELDS OF TABLE it_doc1
    WHERE BUKRS = field_value-fieldvalue.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    retfield = 'BELNR'
    dynpprog = progname
    dynpnr = dynnum
    dynprofield = 'TXT_BELNR'
    value_org = 'S'
    TABLES
    value_tab = it_doc1.
    ENDMODULE. " VALUE_BELNR INPUT

  • Search help for input fields in a screen

    Hi,
    Pls help me
    how to set search help property for the I/O fields in screen in se80?
    1. do we want to add any property for search help in the property window?
    2.do we want to create a MODULE PROCESS ON VALUE REQUEST ?
    PLS tell me how to set search for the I/O field in se80?pls tell me the process?
    i want to set the search help for more I/O fields in se80 but all the fields belongs to the same table?
    can i create a single search for all these fields and use that for all the I/O fields ?
    elementary search help or collective search help?
    thanks & regards in advance,
    vsnl.

    Hi,
    Input Help on the Screen
    Within the Screen Painter, you can define two types of input help:
    1. The FIELD statement with one of the additions VALUES or SELECT.
    2. Linking a search help directly to a screen field.
    If you link a search help directly to a screen field, it overrides the additions of the FIELD
    statement. However, the input check [Page 581] functions of the FIELD statement remain
    unaffected.
    Input Help in Flow Logic
    The following input help methods are obsolete and should not be used. They are still supported
    for compatibility reasons.
    In the screen flow logic, you can specify a value list for a screen field <f> as follows:
    FIELD <f> VALUES (<val1>, <val2>,...).
    The value list contains a series of single values <vali>. The NOT and BETWEEN additions for the
    input check [Page 581] are not appropriate for input help.
    You can also create a value list by accessing a database table as follows:
    FIELD <f> SELECT *
    FROM <dbtab>
    WHERE <k1> = <f1> AND <k2> = <f2> AND...
    In the WHERE condition, the fields of the primary key <ki> of the database table <dbtab> are
    checked against the screen fields <fi>. The WHENEVER addition, used with input checks [Page
    581], is not necessary for input help.
    If you have used a ABAP Dictionary reference for field <f>, the selection and the hit list formatting
    may be affected by any check table attached to the field.
    Attaching a Search Help
    Search helps from the ABAP Dictionary can be attached to a screen field [Ext.]. To do this, enter
    the name of the search help in the corresponding field in the attributes of the screen field in the
    Screen Painter. This assigns the first parameter of the search help to the screen field. It is only
    possible to place a value from the hit list onto the screen.
    Input help on a screen.
    REPORT DEMO_DYNPRO_F4_HELP_DYNPRO MESSAGE-ID AT.
    DATA: CARRIER(3) TYPE C,
    CONNECTION(4) TYPE C.
    CALL SCREEN 100.
    MODULE CANCEL INPUT.
    LEAVE PROGRAM.
    ENDMODULE.
    The next screen (statically defined) for screen 100 is itself. It has the following layout:
    602 April 2001
    Cancel
    Airline
    Flight number
    Screen field with search help
    Input help in the flow logic
    The input fields have been adopted from the program fields CARRIER and
    CONNECTION. The function code of the pushbutton is CANCEL, with function type
    E. The search help DEMO_F4_DE with the search help parameter CARRID is
    assigned to the screen field CARRIER. The search help uses the database table
    SCARR.
    The screen flow logic is as follows:
    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
    MODULE CANCEL AT EXIT-COMMAND.
    FIELD CARRIER VALUES ('AA', 'LH').
    FIELD CONNECTION SELECT *
    FROM SPFLI
    WHERE CARRID = CARRIER
    AND CONNID = CONNECTION.
    When the user chooses the input help for the individual fields, the following input
    help is displayed:
      For the Airline field, the search help displays the names of the airlines and places the airline
    code in the input field for the chosen line. If the airline code is not one of those listed in the
    VALUES list of the screen flow logic, the input check triggers an error message in the PAI
    event. So the search help overrides the VALUES addition for the input help, but not for the
    input checks. This is therefore not an appropriate place to use the VALUE addition.
      For the Flight number field, the flow logic displays the selected entries from the database
    table SPFLI and places the selected line in the input field.
    Regards,
    Bhaskar

  • Search help for field in SM30

    Hi Experts,
    This is a Z table with first field as GROUP and second field as KEY.
    User can select values for first field using a search help. It has three possibel entries
    1. Purchasing Org
    2. Region
    3. Coutnry
    In second field the user has to enetr value based on selection in first field, for eg. if 1 is chosen in 1st field user will enter name of a purchasing organisation.
    Can we dispay a search help for second field based on the selection in first field?
    Like if 1 is selected in 1st field second field should display search help for Purchasing Org
    if 2 is selected in 1st field second field should display search help for Region....in SM30?
    How can we achieve this?
    Thank you,
    Anubhav

    Hi Anubhav,
    1.Go to the table maintenance generator screen from SE11 (Utilities -> Table Maintenance Generator).
    2. In the Table maintenance generator screen , navigate to Environment -> Modifications -> Maintenance Screens
    3. Select and Edit the screen where you need this new search help
    4. Create a Process on Value Request module for your second field at the end of the screen flow logic after MODULE LISTE_AFTER_LOOP.
    5. In the POV module, use funcntion DYNP_VALUES_READ to read the value of field 1 on the screen
    6. Fill your own table with the values for field 2 based on field 1 and display selection using the function F4IF_INT_TABLE_VALUE_REQUEST
    Hope this helps.
    - Puneet

  • Search Help for custom data element

    Hi experts,
      I have a small question regarding accessing data on different clients.
      Can I have an abap program where I can make reference to data /tables in different client AAA, assuming the system (AAA) with data is logically connected to the client that has the ABAP Program ?
    thanks,
    Rajesh

    Thanks Ankur and Rich,
       I would like to clarify your responses.
       I have a custom field my material in SAP xRPM system( different client from R/3).  As per your previous replies, I understand it is possible to have search help for material in xRPM and validate the data with material in R/3. Is this correct? Do I need to maintain all the data in the xRPM ?
    thanks again,
    Rajesh

Maybe you are looking for

  • Javascript in my .cfm works in IE but not FireFox..

    I can't figure out why this Node expand/collapse functionality works in IE, but will not expand/collapse in firefox. Any suggestions?

  • Creating return to vendor via shipping

    Hi, Can any body tell me the Config & Process of return to vendor via shipping. After good received from Vendor (Inbound Delivery), I want to return some goods to vendor via delivery. Kindly Tell Me the Process & Config parts. Thanks & Regds.... Rash

  • Can't see songs/albums in iTunes store

    Hello all.  I recently did a clean install of Wondows 7 64 bit and just installed iTunes 11.1.5.5.  I set up my iTunes with all of my songs from an external HD, and they loaded just fine.  But I noticed when I go to the iTunes store and click on an a

  • Browsing for layered PSD & TIFF files

    I have a folder with about 700 Photoshop and TIFF files. I want to browse quickly through the whole group and find those files that have layers. I have looked in Bridge and in Lightroom. Neither of those shows the number of layers in a file. I rememb

  • Java SE 6 error - Illustrator won't open

    Why won't Illustrator open in Yosemite 10.10 even after updating Java