Logic Execution Algorithm - Help

Help for me - Logic Execution Algorithm
Considering the Execution Sequence 1: Consider the following information in the table GBI_PAR_DEFINE_ROTA parameterized.
The required fields are filled in by users: Required_Res_1 and one of the fields:
Product_id, customer_id or Sales_Order_No.
Off the field will only be filled with the value N if you want to disable the rule. If the value of the rule is N, the routine being developed disregard the rule.
REQUIRED_RES_1 PRODUCT_ID SALES_ORDER_NO CUSTOMER_ID OFF
P_P_LAM2 P_289874 18669437-20 WHGA
Step 1: Find Table MP_WO_REP which records have sales order number 18669437-20.
Step 2: Within these sales orders, search through the table Works_Operation which ones have the field Product_ID = P_289874.
Step 3: Restrict further data selection Sales_Order searching the table, which of them belong to the client WHGA.
Step 4: In the records remaining in the table Works_Operation verify which code Alternate_Pref whose field Required_Res_1 equals P_P_LAM2. If more than one return Alternate_Pref (different) for the same product_id Required_Res_1 and generate a table of error called GBI_ERR_ALTERNATE_PREF, containing the following information: Required_Res_1, Works_Order and product_id. If this error occurs, the following steps should not be performed.
Step 5: In the remaining records, delete those records whose field Alternate_Pref is different from the value returned in Step 4. IMPORTANT NOTE: The records can only be deleted if they exist for the same product_id Alternates_Prefs different. These same deleted records should be inserted in the table Works_Operation_Rota_Excluida.
Step 6: Deleted records Works_Operation table must also be deleted from the table Works_Op_Char. Fields of connection between these two tables are: Works_Order_No, Version_No, Works_Op_No, Alternate_Pref and Op_Proc_No. Deleted records will be recorded in the table Works_OP_Char_Rota_Excluida.

I did not offer an opinion.
You have what is called a technical or program specification. It describes the programming steps that need to be designed and written. This is exactly what programmers do. And your seeming inability to do this, points to the fact that you are not a programmer. That is the issue you need to address - instead of looking for so-called algorithmic logic.
Simple and basic approach. Take step 1. Write SQL code that satisfies the requirements and outputs of that step. E.g.
Step 1: Find Table MP_WO_REP which records have sales order number 18669437-20.
Code: select * from mp_wo_rep where sales_order = '18669437-20'
Do the same for step 2. And the remaining steps
You now have the basic code template required to perform these steps. The next actions are:
Modularising the code (instead of a hardcoded sales order number, support specifying it as a parameter).
Simplify the code (by combining and integrating processing steps). Real programming is said to be the act of removing program source code statements, and not writing them.

Similar Messages

  • Java applet...support logical execution?

    my problem is:
    i am writing a programme for a microproccessor which i have eight (8) I/O digital channels.
    i want to set the digital channels high and into the programme i sent that: "0XFF" which mean =>11111111.
    well, after a treaty i want to change only one channel without affect the other channels.For example i want to set low the 3rd channel 11011111.i don't want to sent 0XDF but i want to do it with logical execution "OR" or "AND".
    Is this possible?and how?
    thank you in advanced

    I am nut sure if this is what you are looking for:
    http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html
    http://java.sun.com/docs/books/tutorial/java/nutsandbolts/relational.html

  • I recently bought a dbx hardware compressor and am not quite sure how to use it in logic express 9. I hav a focusrite saffire 6 usb audio interface and am not dont how to use it in logic. Please help???

    I recently bought a dbx hardware compressor and am not quite sure how to use it in logic express 9. I hav a focusrite saffire 6 usb audio interface and am not dont how to use it in logic. Please help???

    MUYconfundido wrote:
    Pancenter,
    Thanks for the response, but I do not have a midi interface. I am using a midi to usb connector cable, thus bypassing the need for a Midi interface.
    The Mac reads the USB cable as a midi device, but not the keyboard that I am trying to use as a controller. I have tried it with my korg sp 300 and with my Nord Electro 2.
    Thoughts?
    Thanks,
    Tristan
    Tristan...
    This is what you have, correct?
    http://www.alesis.com/usbmidicable
    This from Alesis..
    "The AudioLink Series USB cable receives and outputs MIDI signal thanks to its internal interface. The USB-MIDI Cable connects plug-and-play to your Mac or PC for an all-in-one USB-MIDI solution."
    Notice, -internal interface-. What you have is a simple USB MIDI Interface. Most MIDI interfaces are USB.
    My point is (was), MIDI OUT of the Korg goes to the connector marked MIDI IN on the Alesis, those new to MIDI often get this wrong.
    pancenter-

  • Wlserver.exe error occur while start the web logic server-please help

    hi
    Iam getting wlserver.exe error when I start the web logic server-please help. and I cant able to start the web logic server.
    Thannks in Advance,
    Cheers,
    bala...

    Could you please mail the errors and the WLS Version and service pack as well.
    - Ramkumar

  • Need algorithm help

    I need some help with my 3 class hangman program.
    whenever the program is run, it doesn't function as intended when a letter is entered. Any advice is greatly appreciated.
    Here's what I have so far:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    //<applet code="Hangman.class" width=400 height=400>
    //</applet>
    public class Hangman extends JApplet implements ActionListener
         private final int WIDTH = 400;
         private final int HEIGHT = 400;
         private JPanel panel,tools;
         private JLabel inputLabel;
         private Hang drawing;
         private JTextField guess;
         RandomWord t = new RandomWord();
         public String answer = t.getWord();
         public void init()
              tools = new JPanel();
              tools.setLayout(new BoxLayout(tools,BoxLayout.X_AXIS));
              tools.setBackground(Color.yellow);
              tools.setOpaque(true);
              guess = new JTextField(1);
              guess.addActionListener(this);
              inputLabel = new JLabel("Enter Guess:");
              tools.add(inputLabel);
              tools.add(guess);
              drawing = new Hang();
              panel = new JPanel();
              panel.add(tools);
              panel.add(drawing);
              getContentPane().add(panel);
              setSize(WIDTH,HEIGHT);
         public void actionPerformed(ActionEvent event)
              String g = guess.getText();
              int incorr = 0;
              int c = 0;
              int i;
              for(i = 0;i<answer.length();i++)
                   if((answer.substring(i,i+1)).equals(g))
                        c++;
                        drawing.setLetter(i,g);
              if(c == 0)
                   incorr++;
                   drawing.setIndex(incorr);
              repaint();
    // class number 2:
    import java.awt.*;
    import javax.swing.JPanel;
    public class Hang extends JPanel
         private final int PAN_HEI = 400;
         private final int PAN_WID = 400;
         private int index;
         private int posNum,corr = 0;
         private String print;
         public Hang()
              setBackground(Color.black);
              setPreferredSize(new Dimension(PAN_WID,PAN_HEI));
         public void setIndex(int v)
              index = v;
         public void setLetter(int y,String s)
              print = s;
              posNum = y + 1;
         public void drawBase(Graphics page)
              setBackground(Color.white);
              page.setColor(Color.black);
              page.fillRect(0,350,150,50);// base
              page.fillRect(0,150,25,200);
              page.fillRect(0,125,100,25);
              page.setColor(Color.gray);
              page.fillRect(84,125,7,50);// rope
              page.setColor(Color.black);
              page.drawOval(75,175,24,25);// head
              page.drawLine(250,55,255,55);
              page.drawLine(260,55,265,55);
              page.drawLine(270,55,275,55);
              page.drawLine(280,55,285,55);     
              page.drawLine(290,55,295,55);
              page.drawLine(300,55,305,55);
              page.drawLine(310,55,315,55);
         public void paintComponent(Graphics page)
              super.paintComponent(page);
              this.drawBase(page);
              if(index == 1)
                   page.drawLine(84,200,84,250);
              if(index == 2)
                   page.drawLine(84,215,34,175);
              if(index == 3)
                   page.drawLine(84,215,116,175);
              if(index == 4)
                   page.drawLine(84,250,50,300);
              if(index == 5)
                   page.drawLine(84,250,100,300);
                   page.drawString("You Lose",250,75);
              if(posNum == 1)
                   corr++;
                   page.drawString(print,250,50);
              if(posNum == 2)
                   corr++;
                   page.drawString(print,260,50);
              if(posNum == 3)
                   corr++;
                   page.drawString(print,270,50);
              if(posNum == 4)
                   corr++;
                   page.drawString(print,280,50);
              if(posNum == 5)
                   corr++;
                   page.drawString(print,290,50);
              if(posNum == 6)
                   corr++;
                   page.drawString(print,300,50);
              if(posNum == 7)
                   corr++;
                   page.drawString(print,310,50);
              if(corr == 7)
                   page.drawString("You Win",250,75);
    //last class :
    import java.util.Random;
    public class RandomWord
         Random g = new Random();
         String w1;
         String w2;
         String w3;
         String w4;
         String w5;
         String w6;
         String w7;
         String w8;
         public RandomWord()
              w1 = "freedom";
              w2 = "justice";
              w3 = "impulse";
              w4 = "destiny";
              w5 = "celsius";
              w6 = "ignited";
              w7 = "believe";
              w8 = "realize";
         public String getWord()
              String x = " ";
              int a = g.nextInt(6);
              if(a == 0) x = w1;
              if(a == 1) x =  w2;
              if(a == 2) x =  w3;
              if(a == 3) x = w4;
              if(a == 4) x = w5;
              if(a == 5) x = w6;
              if(a == 6) x = w7;
              if(a == 7) x = w8;
              return x;
    }I'm a very inexperiencd programmer as you can see.

    Darn, I thought you actually needed algorithm help. But instead all I see is:
    "Here's all my code. It doesn't work right. Let me plop it onto your virtual desk and ask that you just fix it for me. I'm going shopping (or whatever) and will be back soon."

  • How to code my logic in Search Help Exit

    Hi,
    I need to add my own Search Help say MATOG in Material MATNR Collective Search Help MAT1-> Collective Search help MAT1_A.
    Is it possible?
    And , when I need to add my own logic in Search Help exit for my particular Search Help, how should I code?
    Thanks,
    Shivaa..

    Hi,
    Go through below link, it gives you step by step approach in implementing search help exit.
    https://wiki.sdn.sap.com/wiki/display/Snippets/ImplementingSearchHelp+Exits
    Regards,
    Raghavendra

  • I just got logic and need help i dont know how to make a track at all

    i just got logic and need help i dont know how to make a track at all

    Pancenter wrote:
    There was a time not too long ago when people respected the incredible amount of talent that contributed to this software...Everyone -wanted- to learn about the craft and "art" that goes into being a good engineer, musician, producer...etc.      
    Beginner's did enough reading and experimentation to at the very least, ask an intelligent question.
    pancenter-
    Hey Pancenter there are still lots of us about.
    I wouldn't take the original post too seriously - I may of course be naive but it sounds like it could be a troll to me!
    I learn a lot from reading the posts of the likes of you, Erik, Bee Jay, sampleconstruct, noeqplease etc so I hope you guys don't become too dispondent when you see posts like these.
    By the same token, I hope the Logic team continue to use their talents to develop powerful software that caters for the professional user, while allowing Garageband to continue to do its (excellent) job of providing for its market.

  • Logic Express Manual Help File?

    Exploring Logic E is almost worthless. Why doesn't the search function work with Logic E Manual Help?

    I just got off the phone with AplCare. This problem was fixed using the disk utility and "repair permissions" function. For future reference, it was suggested that I should perform this process on a regular basis ("every week or so"). As a PC guy transitioning this was new to me. I think I have my help file functioning properly now.

  • BGP decision algorithm - help needed - stumped

    Hello gurus!  hoping for a BGP expert to chime in here. Im studying for my CCIE, and there is something in Jeff Doyle's Routing TCP/IP vol2 book that I just cant seem to figure out and its really stalling my understanding of the BGP path selection algorithm.  
    Its on pg 195, example 3-57, attached as an image in this post (Ive also attached the network diagram that this output refers to). Basically its an output of "show ip bgp" and whats stumping me is simply: for the aggregate route 192.168.192.0/21, why has this router selected as best (>) the one via next hop 192.168.1.254?? I would have thought based on the presence of the LocalPref = 100 on the 192.168.1.237 route that would have been selected.  But apparently not! Heres a walk through of the path selection logic as i understand it:
    1/WEIGHT: both 0, so skipped. 
    2/LOCAL_PREF: this is my problem, .237 should win, but ignoring for now...
    3/ORIGINATED LOCALLY: neither are they are learnt from BGP peers, so skipping.
    4/AS_PATH: both identical, AS100 only, so skipping
    5/ORIGIN CODE: both are 'i' (IGP), both were created from "aggregate-address" statements on their originating routers downstream in AS100
    6/MED: both empty, so skipping
    7/PREFER [eBGP] over [confedBGP] over iBGP: so the .254 route apparently wins on this condition... which in isolation, i agree with (clearly the eBGP .254 route is better than the .237 iBGP candidate).
    .... however what about step 2/LOCAL_PREF!?  
    looking forward to some expert guidance here to help me squash this one :) 
    thank in advance, 
    Keiran

    Hello,
    Keiran are you talking about "Orgin" attribute or ORIGINATED LOCALLY as this attribute i am not able to find it...that attribute anywhere:
    http://netcerts.net/bgp-path-attributes-and-the-decision-process/
    Path Attributes:
    Attribute
    Class
    ORIGIN
    Well-know mandatory
    AS_PATH
    Well-know mandatory
    NEXT_HOP
    Well-know mandatory
    LOCAL_PREF
    Well-know discretionary
    ATOMIC_AGGREGATE
    Well-know discretionary
    AGGREGATOR
    Optional transitive
    COMMUNITY
    Optional transitive
    MULTI_EXIT_DISC (MED)
    Optional nontransitive
    ORGINATOR_ID
    Optional nontransitive
    ORGINATOR_ID
    Optional nontransitive
    CLUSTER_LIST
    Optional nontransitive
    Also there is similar question on learning forums:
    https://learningnetwork.cisco.com/thread/36845
    From the forum:
    "Locally Originated means that the local router is the one that generated the route with either a network statement, and aggregate statement, redistribution, or conditional route injection.  It's not an attribute that is included in the UPDATE messge, instead it's just used by the local process as part of the path selection, where the router will prefer its own locally originated routes over someone else's origination of the same prefix."
    Hopefully this will help.
    BTW i am reading same book and too bad Mr. Doyle did not include full configs for all routers, as i am trying to simulate his scenarios sometimes it is not working as in his book, now i have issue on next page 197 why Orgin IGP is not taking precedence over Incomplete even if one is learned via EBGP and other over iBGP...driving me nuts.
    Regards,
    Lukasz

  • Can not see wave form in arrange window  logic 9 Please help

    I have been using Logic for 3 months now...mostly just importing old wave files from past protools sessions.  Everything was working fine until I created a new session to record audio.  I record the audio at a nice level...I hit playback...I can hear it fine but I can't see the wave forms.  I can see it in the sample editor.  I've searched around and found the same problem in the past on some forums......they say to trash preferences...  I went to my mac drive...library...preferences  and nothing  I have no files labeled  com.apple.logic.pro  now I'm lost....the funny thing is... when I zoom in horizontal ...the wave form shows but it makes the track way too large.  Any help would be great.  Thanks

    In Logic:  Preferences/Audio
    What is the "Recording Delay" parameter set to?
    It should be zero, default is zero. If it's set to a positive or negative Logic will often not show the wavforms. If that's it, it's one of the long standing bugs in Logic.

  • Logic needed Pls help

    Hi
    I have to add 'Upload excel file' option in Material consumption program. Current logic is Uploading Unix file. Can any one give me some idea pls.
    following is my coding
    PROGRAM ZMDM0081 MESSAGE-ID ZM.
    TABLES: MARA.
    * Resource file record structure
    DATA: BEGIN OF RECORD,
            MATERIAL_NUMBER(10),
            PLANT(5),
            CORRECTED_VALUE_19(11),
            CORRECTED_VALUE_18(11),
            CORRECTED_VALUE_17(11),
            CORRECTED_VALUE_16(11),
            CORRECTED_VALUE_15(11),
            CORRECTED_VALUE_14(11),
            CORRECTED_VALUE_13(11),
            CORRECTED_VALUE_12(11),
            CORRECTED_VALUE_11(11),
            CORRECTED_VALUE_10(11),
            CORRECTED_VALUE_09(11),
            CORRECTED_VALUE_08(11),
            CORRECTED_VALUE_07(11),
            CORRECTED_VALUE_06(11),
            CORRECTED_VALUE_05(11),
            CORRECTED_VALUE_04(11),
            CORRECTED_VALUE_03(11),
            CORRECTED_VALUE_02(11),
            CORRECTED_VALUE_01(11),
          END OF RECORD.
    * Working variables
    DATA: RECORD_READ(6)   TYPE P,
          RECORD_INSERT(6) TYPE P,
          RECORD_OMIT(6)   TYPE P,
          MATERIAL_NUMBER  LIKE MARA-MATNR,
          G_BRGEW          LIKE MARA-BRGEW,
          N_NTGEW          LIKE MARA-NTGEW,
          PLANT            LIKE MARC-WERKS,
          REMARKS(50),
          FLAG(1),
          RECORD_FLAG(1),
          INTENSIFIED_FLAG(1),
          NUMBER(6)        TYPE P.
    * Constant variables
    CONSTANTS: VALID   VALUE '1',
               INVALID VALUE '0',
               ON      VALUE '1',
               OFF     VALUE '0'.
    * Reporting groups
    FIELD-GROUPS HEADER.
    * Insert into groups
    INSERT MATERIAL_NUMBER
           PLANT
           REMARKS
           INTO HEADER.
    * BDC parameters
    SELECTION-SCREEN BEGIN OF BLOCK ONE WITH FRAME TITLE TEXT-010.
    PARAMETERS: FILE(30) TYPE C
                          DEFAULT '/export/remote/data.txt'
                          LOWER CASE
                          OBLIGATORY,
                 SESSION  LIKE RL04I-MAPPE
                          OBLIGATORY
                          DEFAULT '8301_MM02',
                          UNAME LIKE SY-UNAME DEFAULT SY-UNAME.
    SELECTION-SCREEN END OF BLOCK ONE.
    * Data conversion parameters
    SELECTION-SCREEN BEGIN OF BLOCK TWO WITH FRAME TITLE TEXT-020.
    PARAMETERS MONTH(2) TYPE N DEFAULT 1.
    SELECTION-SCREEN END OF BLOCK TWO.
    * Notes to user
    SELECTION-SCREEN BEGIN OF BLOCK THREE WITH FRAME TITLE TEXT-030.
    SELECTION-SCREEN COMMENT /5(70) TEXT-040.
    SELECTION-SCREEN COMMENT /5(70) TEXT-050.
    SELECTION-SCREEN END OF BLOCK THREE.
    MOVE UNAME TO SY-UNAME.
    * Including SAP R/3 BDC customized include
    INCLUDE ZSIN0001.
    * Verifying the path & file name
    AT SELECTION-SCREEN ON FILE.
      PERFORM RESOURCE_FILE_OPEN.
    * Processing BDC
    START-OF-SELECTION.
      PERFORM SESSION_OPEN.
      PERFORM SESSION_GENERATION.
      PERFORM SESSION_CLOSE.
      CLOSE DATASET FILE.
    * Printing execution report
    END-OF-SELECTION.
      SKIP.
      WRITE  /15 'BDC & SYSTEM PARAMETERS -' COLOR 3.
      SKIP.
      WRITE: /15 'Resource path & filename ..........', FILE,
             /15 'Session name ......................', SESSION,
             /15 'ABAP/4 Program name ...............', SY-REPID,
             /15 'Client ............................', SY-MANDT,
             /15 'SAP System ID .....................', SY-SYSID,
             /15 'SAP Release .......................', SY-SAPRL,
             /15 'Host ..............................', SY-HOST,
             /15 'Operating system ..................', SY-OPSYS,
             /15 'Database system ...................', SY-DBSYS,
             /15 'User ID ...........................', SY-UNAME,
             /15 'Date ..............................', SY-DATUM,
             /15 'Time ..............................', SY-UZEIT.
      SKIP 3.
      WRITE  /15 'DATA CONVERSION DEFAULT PARAMETERS -' COLOR 3.
      SKIP.
      WRITE: /15 'Start at previous month ............', MONTH.
      SKIP 3.
      WRITE  /15 'EXECUTION REPORT -' COLOR 3.
      SKIP.
      WRITE: /15 'Total records read form file ......', RECORD_READ,
             /15 'Total records insert to BDC .......', RECORD_INSERT,
             /15 'Total records omitted .............', RECORD_OMIT.
      NEW-PAGE.
      SORT.
      LOOP.
        ADD 1 TO NUMBER.
        IF INTENSIFIED_FLAG EQ ON.
          FORMAT COLOR 2 INTENSIFIED ON.
          MOVE OFF TO INTENSIFIED_FLAG.
        ELSE.
          FORMAT COLOR 2 INTENSIFIED OFF.
          MOVE ON TO INTENSIFIED_FLAG.
        ENDIF.
        WRITE: /1 NUMBER, MATERIAL_NUMBER, PLANT, REMARKS.
        POSITION SY-LINSZ.
        WRITE ' '.
      ENDLOOP.
    * Reading resource file and generating BDC session
    FORM SESSION_GENERATION.
      DO.
        READ DATASET FILE INTO RECORD.
        IF SY-SUBRC NE 0 OR RECORD IS INITIAL.
          EXIT.
        ENDIF.
        ADD 1 TO RECORD_READ.
        PERFORM RECORD_CONDENSATION.
        PERFORM RECORD_VERIFICATION.
        CHECK RECORD_FLAG EQ VALID.
        REFRESH BDCDATA.
        PERFORM SCREEN_SEQUENCE.
        PERFORM BDC_TRANSACTION USING 'MM02'.
        IF SY-SUBRC EQ 0 .
          ADD 1 TO RECORD_INSERT.
        ELSE.
          ADD 1 TO RECORD_OMIT.
        ENDIF.
      ENDDO.
    ENDFORM.                    "SESSION_GENERATION
    * Condensing the record fields
    FORM RECORD_CONDENSATION.
      CONDENSE: RECORD-MATERIAL_NUMBER,
                RECORD-PLANT,
                RECORD-CORRECTED_VALUE_19,
                RECORD-CORRECTED_VALUE_18,
                RECORD-CORRECTED_VALUE_17,
                RECORD-CORRECTED_VALUE_16,
                RECORD-CORRECTED_VALUE_15,
                RECORD-CORRECTED_VALUE_14,
                RECORD-CORRECTED_VALUE_13,
                RECORD-CORRECTED_VALUE_12,
                RECORD-CORRECTED_VALUE_11,
                RECORD-CORRECTED_VALUE_10,
                RECORD-CORRECTED_VALUE_09,
                RECORD-CORRECTED_VALUE_08,
                RECORD-CORRECTED_VALUE_07,
                RECORD-CORRECTED_VALUE_06,
                RECORD-CORRECTED_VALUE_05,
                RECORD-CORRECTED_VALUE_04,
                RECORD-CORRECTED_VALUE_03,
                RECORD-CORRECTED_VALUE_02,
                RECORD-CORRECTED_VALUE_01.
    ENDFORM.                    "RECORD_CONDENSATION
    * Verifying record fields
    FORM RECORD_VERIFICATION.
      MOVE VALID TO RECORD_FLAG.
      UNPACK RECORD-MATERIAL_NUMBER TO MATERIAL_NUMBER.
      SELECT SINGLE * FROM MARA
                          WHERE MATNR EQ MATERIAL_NUMBER.
      IF SY-SUBRC NE 0.
        ADD 1 TO RECORD_OMIT.
        MOVE: RECORD-PLANT TO PLANT,
              TEXT-060     TO REMARKS,
              INVALID      TO RECORD_FLAG.
        EXTRACT HEADER.
        EXIT.
      ELSE.
        IF MARA-NTGEW > MARA-BRGEW.     "add to check for net weight > grow
          MOVE '1' TO FLAG.
        ELSE.
          MOVE ' ' TO FLAG.
        ENDIF.
      ENDIF.
      MOVE RECORD-PLANT TO PLANT.
      SELECT SINGLE MATNR WERKS INTO  (PLANT, MATERIAL_NUMBER)
                                FROM  ('MARC')
                                WHERE MATNR EQ MATERIAL_NUMBER
                                AND   WERKS EQ PLANT.
      IF SY-SUBRC NE 0.
        ADD 1 TO RECORD_OMIT.
        MOVE: TEXT-070 TO REMARKS,
              INVALID  TO RECORD_FLAG.
        EXTRACT HEADER.
      ENDIF.
    ENDFORM.                    "RECORD_VERIFICATION
    * Performing the screen sequence
    FORM SCREEN_SEQUENCE.
      PERFORM SCREEN_SAPLMGMM_0060.
      PERFORM SCREEN_SAPLMGMM_0070.
      PERFORM SCREEN_SAPLMGMM_3005.
      PERFORM SCREEN_SAPLMGMM_0081.
      PERFORM SCREEN_SAPLMGMM_3006.
      PERFORM SCREEN_SAPLMGMM_3110.
    ENDFORM.                    "SCREEN_SEQUENCE
    * Change Material: Initial Screen
    FORM SCREEN_SAPLMGMM_0060.
      PERFORM BDC_DYNPRO USING 'SAPLMGMM'   '0060'.
      PERFORM BDC_FIELD  USING 'RMMG1-MATNR' RECORD-MATERIAL_NUMBER.
      PERFORM BDC_FIELD  USING 'BDC_OKCODE'  '/5'. " Select view(s)
    ENDFORM.                    "SCREEN_SAPLMGMM_0060
    * Select view(s)
    FORM SCREEN_SAPLMGMM_0070.
      PERFORM BDC_DYNPRO USING 'SAPLMGMM'            '0070'.
      PERFORM BDC_FIELD  USING 'MSICHTAUSW-KZSEL(01)' 'X'.
      PERFORM BDC_FIELD  USING 'BDC_OKCODE'           '/0'. " Enter
    ENDFORM.                    "SCREEN_SAPLMGMM_0070
    * Change Material: Basic data
    FORM SCREEN_SAPLMGMM_3005.
      PERFORM BDC_DYNPRO USING 'SAPLMGMM'   '3005'.
      PERFORM BDC_FIELD  USING 'BDC_OKCODE' 'SP08'.             " MRP 1
      IF FLAG EQ '1'.
        PERFORM BDC_DYNPRO USING 'SAPLMGMM'   '3005'.
        PERFORM BDC_FIELD  USING 'BDC_OKCODE'           '/0'.
      ENDIF.
    ENDFORM.                    "SCREEN_SAPLMGMM_3005
    * Organizational levels
    FORM SCREEN_SAPLMGMM_0081.
      PERFORM BDC_DYNPRO USING 'SAPLMGMM'    '0081'.
      PERFORM BDC_FIELD  USING 'RMMG1-WERKS' RECORD-PLANT.
      PERFORM BDC_FIELD  USING 'BDC_OKCODE'  '=ENTR'.  "Continue
    ENDFORM.                    "SCREEN_SAPLMGMM_0081
    * Change Material: MRP 1
    FORM SCREEN_SAPLMGMM_3006.
      PERFORM BDC_DYNPRO USING 'SAPLMGMM'   '3006'.
      PERFORM BDC_FIELD  USING 'BDC_OKCODE' 'ZU11'. " Consumption
    ENDFORM.                    "SCREEN_SAPLMGMM_3006
    * Change Material: Consumption
    FORM SCREEN_SAPLMGMM_3110.
      CONSTANTS: PREVIOUS_MONTH VALUE 'X',
                 THIS_MONTH     VALUE ' '.
      DATA: ROW_POSITION(2)      TYPE N VALUE 0,
            WS_POSITION(2)       TYPE C,
            FIELDNAME            LIKE BDCDATA-FNAM,
            CONSUMPTION_QUANTITY LIKE RECORD-CORRECTED_VALUE_01.
      PERFORM BDC_DYNPRO USING 'SAPLMGMM' '3110'.
    *  if month eq previous_month.
    *    move 1 to row_position.
    *  elseif month eq this_month.
    *    move 0 to row_position.
    *  endif.
      MOVE MONTH TO ROW_POSITION.
      DO 19 TIMES VARYING CONSUMPTION_QUANTITY
                  FROM RECORD-CORRECTED_VALUE_01
                  NEXT RECORD-CORRECTED_VALUE_02.
        IF ROW_POSITION GT 11.
          MOVE 1 TO ROW_POSITION.
          PERFORM BDC_FIELD  USING 'BDC_OKCODE' 'VWNP'. " Page down
          PERFORM BDC_DYNPRO USING 'SAPLMGMM'   '3110'.
        ENDIF.
        UNPACK ROW_POSITION TO WS_POSITION.
        CONCATENATE 'RM03M-VBWRT(' WS_POSITION ')' INTO FIELDNAME.
        IF CONSUMPTION_QUANTITY+0(1) EQ '-'.
          SHIFT CONSUMPTION_QUANTITY LEFT BY 1 PLACES.
          CONCATENATE CONSUMPTION_QUANTITY '-' INTO CONSUMPTION_QUANTITY.
        ENDIF.
        PERFORM BDC_FIELD USING FIELDNAME CONSUMPTION_QUANTITY.
        ADD 1 TO ROW_POSITION.
      ENDDO.
      PERFORM BDC_DYNPRO USING 'SAPLMGMM' '3110'.
      PERFORM BDC_FIELD  USING 'BDC_OKCODE' '/11'. " Save
    ENDFORM.                    "SCREEN_SAPLMGMM_3110
    Include Program
    * BDC data table and record structure defination
    DATA BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    * Opening a resource file
    FORM RESOURCE_FILE_OPEN.
      DATA ERROR_MESSAGE(40).
    *Begin of changes Mod01
    *  OPEN DATASET FILE FOR INPUT IN TEXT MODE MESSAGE ERROR_MESSAGE.
      OPEN DATASET FILE FOR INPUT IN TEXT MODE ENCODING DEFAULT MESSAGE
                                                          ERROR_MESSAGE.
    *End of changes Mod01
      IF SY-SUBRC NE 0.
        MESSAGE E000 WITH FILE ERROR_MESSAGE.
      ENDIF.
    ENDFORM.
    * Opening of BDC session
    FORM SESSION_OPEN.
      CALL FUNCTION 'BDC_OPEN_GROUP'
           EXPORTING  CLIENT              = SY-MANDT
                      DEST                = SY-HOST
                      GROUP               = SESSION
                      USER                = SY-UNAME
                      KEEP                = 'X'
           EXCEPTIONS CLIENT_INVALID      = 01
                      DESTINATION_INVALID = 02
                      GROUP_INVALID       = 03
                      HOLDDATE_INVALID    = 04
                      INTERNAL_ERROR      = 05
                      QUEUE_ERROR         = 06
                      RUNNING             = 07
                      USER_INVALID        = 08.
      CASE SY-SUBRC.
        WHEN 01. MESSAGE E001 WITH SY-MANDT.
        WHEN 02. MESSAGE E002.
        WHEN 03. MESSAGE E003.
        WHEN 04. MESSAGE E004.
        WHEN 05. MESSAGE E005.
        WHEN 06. MESSAGE E006.
        WHEN 07. MESSAGE E007.
        WHEN 08. MESSAGE E007.
      ENDCASE.
    ENDFORM.
    * Closing BDC session
    FORM SESSION_CLOSE.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
        EXCEPTIONS NOT_OPEN    = 01
                   QUEUE_ERROR = 02.
      CASE SY-SUBRC.
        WHEN 01. MESSAGE E009.
        WHEN 02. MESSAGE E010.
      ENDCASE.
    ENDFORM.
    * Inserting data into BDC
    FORM BDC_TRANSACTION USING TRANSACTION_CODE.
      CALL FUNCTION 'BDC_INSERT'
           EXPORTING  TCODE          = TRANSACTION_CODE
           TABLES     DYNPROTAB      = BDCDATA
           EXCEPTIONS INTERNAL_ERROR = 1
                      NOT_OPEN       = 2
                      QUEUE_ERROR    = 3
                      TCODE_INVALID  = 4
                      OTHERS         = 5.
    ENDFORM.
    * Insert program name & screen number
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCDATA.
      MOVE: PROGRAM TO BDCDATA-PROGRAM,
            DYNPRO  TO BDCDATA-DYNPRO,
            'X'     TO BDCDATA-DYNBEGIN.
      APPEND BDCDATA.
    ENDFORM.
    * Inserting field name/BDC_OKCODE/BDC_CUESOR and value
    FORM BDC_FIELD USING FNAM FVAL.
      CLEAR BDCDATA.
      MOVE: FNAM TO BDCDATA-FNAM,
            FVAL TO BDCDATA-FVAL.
      APPEND BDCDATA.
    ENDFORM.

    i have changed the selection screen as follows
    SELECTION-SCREEN BEGIN OF BLOCK one WITH FRAME TITLE text-010.
    *                                                          "1)
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS p_unix RADIOBUTTON GROUP rad1 .                 "
    SELECTION-SCREEN COMMENT 5(26) text-008.
    SELECTION-SCREEN POSITION 33.                              "
    PARAMETERS: file(128) TYPE c
                          DEFAULT '/export/remote/data.txt' LOWER CASE.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS p_xls RADIOBUTTON GROUP rad1 .                 "excel file
    SELECTION-SCREEN COMMENT 5(26) text-009.
    SELECTION-SCREEN POSITION 33.                              "
    PARAMETERS: filf(128).
    SELECTION-SCREEN END OF LINE.
    *>>
    *PARAMETERS: file(128) TYPE c
    *                      DEFAULT '/export/remote/data.txt' LOWER CASE OBLIGATORY,
    PARAMETERS:  session  LIKE rl04i-mappe OBLIGATORY
                          DEFAULT '8301_MM02',
                 uname LIKE sy-uname DEFAULT sy-uname.
    SELECTION-SCREEN END OF BLOCK one.
    * Data conversion parameters
    SELECTION-SCREEN BEGIN OF BLOCK two WITH FRAME TITLE text-020.
    PARAMETERS month(2) TYPE n DEFAULT 1.
    SELECTION-SCREEN END OF BLOCK two.
    * Notes to user
    SELECTION-SCREEN BEGIN OF BLOCK three WITH FRAME TITLE text-030.
    SELECTION-SCREEN COMMENT /5(70) text-040.
    SELECTION-SCREEN COMMENT /5(70) text-050.
    SELECTION-SCREEN END OF BLOCK three.

  • Installing Logic 9 UPGRADE Help

    Hi,
    I've been using logic pro 8 since it came out, (got it part of logic studio) and i just bought the logic studio upgrade today so i can run logic 9, aswell as mainstage etc.
    Ever since i put snow leopard on my mac i've had quite a few crashes with logic, when it crashes it gives me the report that it's due to my 'camelPhat plugin' but sometimes it doesn't say it is that.
    The guy in the apple shop said i would be best to totally uninstall logic studio 8, then reinstall it, then install my logic studio upgrade, then reinstall my plugins e.g soft synths etc
    He said that logic was probably crashing due to some things not being built for snow leopard, like my plugins.
    I was just wondering what anyone thought of this? Is it worth while, am i likely to encounter any problems or would i be best just leaving it as it is and installing my logic studio upgrade over the top as it already is?
    Thanks for any help or guidance, really appreciated.
    Tom

    installed logic 9 upgrade next to LP 8 last week. Running on an imac intel 20 inch from 2008.
    It's all working like a breeze. Worked on some pretty heavy projects. No crashes or any other problems.
    I really really like Logic 9. Flex time and Bounce in place all already worth the update alone, although i think 200 euro's is a bit too expensive, compared to the price of the normal package (i think 400 or 500 euros)
    Anyhow, i love this stuff. Soo much more intuitive and quick than Cubase, which I've used for years actually (and which is also a very very good program, but logic just beats it for me)
    cheers, SLVR (www.soundclick.com/slvr ; www.soundcloud.com/slvr ; www.myspace.com/slvrcircus )

  • Itunes error. the data execution prevention pops up and says "to protect your computer, windows has closed this program. Data execution prevention helps protect against damage from viruses and other threat.

    I have a windows Xp computer. and i needed to download the newest itunes to support my ipod touch. but now my computer doesn't let me open itunes. The the data execution prevention pops up and says "to protect your computer, windows has closed this program. Data execution prevention (DEP) helps protect against damage from viruses and other threat." I tried excluding itunes from DEP on settings but it still doesn't work. I don't know what to do. please help me!!!
    thanks 

    try to select the computer cd/dvd autorun off.
    I had the same problem, then Kaspersky software found a conflict suggesting me this solution.
    Itunes now works...even if it always asks to set the cd/dvd autorun on when lunched.

  • What drive should i put in my new imac if im running logic x? Help

    hey peeps
    gonna buy a new imac to run logic X...please help with advice on which drive i should load it with....my cpu is 5 years old and im lost...typicl sesion includes 15 audio track, 3 midi tracks, and 4 software ist. tracks....and lots of plug-ins....not sure about fusion vs. ata. vs flash.... thanks so much in advnce!!!!
    grant

    kcstudio wrote:
    No intention to dispute your advice here Pancenter, but just out of interest, what kind of problems are you referring to?
    Thanks in advance!
    Since it was a new iMac he was going to purchase, there is the huge iMac/Fusion Drive Thread.
    The other thing is... the Fusion drives offer no improvement over standard drives for audio, in fact performance may be less, plus there is an additional software layer installed to mange the Fusion Drive... and to top it off, the the regular spinning disk of the Fusion Drive is only 5400RPM.
    Here's the thread.
    https://discussions.apple.com/message/23790322#23790322

  • Color Picker scripting or Levels algorithm help

    First question is: Does anyone know of a good explanation of the Levels algorithm as in how each setting affects a pixel in an image. If I change the midpoint of the levels, how would a specific pixel change in relation to that? I've been experimenting for hours and can't figure a common factor other than it seems to be a binary type relationship. The reason I ask this is because I'm trying to script something that will balance colors.
    If that method isn't practical, I can go to the old fashioned trial and error method but this way also presents a roadblock to me. I set a color picker point and the script can obtain the values from that point exactly as it is in the Info panel. If I put a levels adjustment layer over top and adjust it, I now see the original color value and the adjusted color value in the Info panel, but I can't figure out how to obtain the adjusted value with a script. It still returns the original value. Does anyone know a way to obtain the adjusted value?
    I hope I explained this right.

    Thanks, Michael.
    I'll have to look through that post on ps-scripts.com in more detail. That might be what I need.
    This little snippet you wrote:
    Michael L Hale wrote:
    This thread may help with the levels part. http://ps-scripts.com/bb/viewtopic.php?t=2498
    As for the adjustment layer you need to get the color twice. Once with the adjustment layer visible then again with it not visible.
    var csColor = activeDocument.colorSamplers[0].color;
    activeDocument.layers.getByName('Levels').visible = false;
    var csColor2 = activeDocument.colorSamplers[0].color;
    alert( csColor2.rgb.red + " : " + csColor.rgb.red );
    doesn't get me the before and after values. Example: The point I selected has a red value of 226. I added a Levels adj layer on top and moved the midpoint so the red value at that point (adjusted) was 234. I ran your code and it came back with 225.591439688716 : 225.591439688716. It isn't showing the adjusted value of that point.

Maybe you are looking for

  • Incorrect balance carried forward

    The balance carried forward was mistakenly done for 2006 again and not 2007. What a mess! any solutions for this? many thanks.

  • New iMacs but has Steve heard...

    Has Steve heard of the economic downturn at all? The iMac, mini and Pro seem expensive to me or is that just me? Cheers

  • Hotkey Features Integration not detected by update retriever / system Update

    Hi Lenovo I suspect there might be an error in your metadata for the package 81vu13ww "Hotkey Features Integration" It is not offered through systemupdate or update retriever. in the update retriever program folder i have been looking at the file "C:

  • Viewer Looking Different than Designer

    <p>Hi. I've upgraded version from CrystalViewer10 to CrystalViewer11. I have 2 question to ask. </p><p>1. Currently I used CrystalViewer11. I've created a report using Cross tab wizard. </p><p>I used function DisplayString to display my recordnumber

  • Transport Authorization Objects

    Hi all,       Can you please clarify this issue. Is it a good practice to transport authorization objects from Dev to Q/A to Prod or create them separately in all the three environments. I transported the roles but I am not certain about the authoriz