Hi All QM Masters, Urgent

Dear All QM Masters,
Can any body tell me tha in Qa 32 if Lot status is REL CALC, but message is result recording is not possible. then what may the error in the settings.
Thanks and Regards,
Neeraj

Hi
please explain in detail what is error message you are getting with message number? what is inspection lot status (all).
also please check material master whether inspection with task list flagged or not in quality view.
regards
Srinivas

Similar Messages

  • Iphoto deleted all my masters, any way to recover them? PLEASE HELP!!

    Iphoto deleted all my masters and I cant seem to find them, is there any way to recover them? Iphoto 11 version. The only pictures that are left are some previews and some thumbnails.

    Try the following:
    Using iPhoto Library Manager  to Rebuild Your iPhoto Library
    Download iPhoto Library Manager and launch.
    Click on the Add Library button, 
    navigate to your Home/Pictures folder and select your iPhoto Library folder.
    Now that the library is listed in the left hand pane of iPLM, click on your library and go to the Library ➙ Rebuild Library menu option
    In the next  window name the new library and select the location you want it to be placed.
    Click on the Create button.
    Note: This creates a new library based on the LIbraryData.xml file in the library and will recover Events, Albums, keywords, titles and comments. However, books, calendars, cards and slideshows will be lost.
    Note:  your current library will be left untouched for further attempts at a fix if so desired.
    If that fails continue with:
    Starting over from scratch with new library
    Start over with a new library and import the Originals (iPhoto 09 and earlier) or the Masters (iPhoto 11) folder from your original library as follows:
    1. Open the library package like this.
    2. Launch iPhoto with the Option key held down and, when asked, select the option to create a new library.
    3. Drag the subfolders of the Originals (iPhoto 09 and earlier) or the Masters (iPhoto 11) folder from the open iPhoto Library package into the open iPhoto window a few at a time.
    This will create a new library with the same Events (but not necessarily the same Event names) as the original library but will not keep the metadata, albums, books slideshows and other projects.
    Note:  your current library will be left untouched for further attempts at a fix if so desired.
    OT

  • Word 2004 crashes all the time - URGENT !!!

    Hi, I have to write a letter urgently, and with my brand new Imac 24", Word does not work.
    It crashes all the time.
    If I open a new doct, and type some letters, press enter, crash.
    Type some words, crash
    Type anything, crash...
    Please Help, it's very urgent, I nedd to finish my doct in a few hour...thanks an lot, i'm desparate...

    Hi Gilles
    Here is something else quick to try for the short term, "AbiWord" will let me work on my Word X doc's.
    Edit: I also woul like to add "NeoOffice" as another option!
    Then see if something from the "MS Offlce 2004 Support Page" will help.
    Dennis

  • Changed disks in my RAID, Aperture lost all referenced masters.

    I have a G-Speed eS RAID system. I had 4 X 1TB disks.
    I decided to change the hard disks to 2TB ones to double my storage capacity.
    I retained the same volume name. I backed up the 2.5TB of data to 3 other disks and then copied it back to my upgraded RAID.
    So I have a completely identical file structure. My photos were in /Volumes/GS/photo, and this is where they are now. However Aperture lost all connections to the 35000 referenced files.
    It seems that there is no way to tell Aperture that old /Volumes/GS and new /Volumes/GS is the same location from my point of view (is your point of view different?). This means I have to reconnect each one of the 100+ projects manually. I DO NOT LIKE THAT. Am I missing something, or is this a nasty oversight? Don't tell me that this is a "feature" and one can only move REFERENCED masters from within Aperture...
    Note: Repairing or rebuilding the library does not help.

    Your suggestion works, but
    1) You have to first select all photos in the "photos" smart album. If you do select them all, "Reconnect All" will not work.
    2) Most important, after reconnecting, I also told Aperture to rebuild my library. And it lost them again... The photos got connected to a <null> named drive which is shown as offline.
    We are talking about a big deficit of reliability here...
    I had a backup of my Aperture Library. So I reconnected the files again, without a Library rebuild this time.
    But what if I need to rebuild my library in the future?? I AM SCARED...
    No need to mention that I have lost all day moving around many gigabytes of data, reconnecting files, etc etc. This is hardly a productivity boost.
    The worst part is that I like a lot the Aperture UI and I hate the alternative.
    But Aperture is unfortunately unreliable.
    Just play enough time with the loupe on my MacPro and the application will crash.

  • XML having many parents and many children but all unrelated!***URGENT***

    This is very urgent..Please HELP!!!
    Iam in a project which is planning to store the entire XML file in the database in a XML datatype column. The XML has multiple parents AND multiple children for each of those parents. My problem is how to read/store the data for each of the parent and associate the parent to the child elements. The child elements does not have a parentID in its column. Here is an example- Parent table - SHIPMENT. Child Table - SHIPMENTUNITS. ShipmentNBr is the business key in both these tables. This column comes in the SHIPMENT node but does not come in the SHIPMENTUNITS node. When I try the OPENXML, all the data just gets stored..how do I link the child to the parent?
    <SHIPMENT xmlns="">
    <SHIPMENTNBR>US1011<SHIPMENTNBR />
    <SHIPMENTTYPE_CD>BK</SHIPMENTTYPE_CD>
    <LINESCAC>ACLH</LINESCAC>
    <TERMINAL_CD>USJAX</TERMINAL_CD>
    <ISSUE_DT>2006-08-17T14:23:09</ISSUE_DT>
    <VESSEL_CD>VES</VESSEL_CD>
    <VOYAGE_CD>VOYA</VOYAGE_CD>
    <POL />
    <POD>POD_0</POD>
    <SHIPMENTUNITS>
    <UNITNBR>1234</UNITNBR>
    <UNITTYPE_CD>CAR</UNITTYPE_CD>
    <MAKE>HON</MAKE>
    <MODEL>ACCO</MODEL>
    <COLOR>RED</COLOR>
    <FULLEMPTY_CD>F</FULLEMPTY_CD>
    <LENGTH>0011</LENGTH>
    <WIDTH>0022</WIDTH>
    <HEIGHT>0033</HEIGHT>
    <DIMENSIONUOM>C</DIMENSIONUOM>
    <WEIGHT>000010</WEIGHT>
    <WGTUOM>K</WGTUOM>
    </SHIPMENTUNITS>
    </SHIPMENT>
    <SHIPMENT xmlns="">
    <SHIPMENTNBR>IN2052<SHIPMENTNBR />
    <SHIPMENTTYPE_CD>BK</SHIPMENTTYPE_CD>
    <LINESCAC>ACLH</LINESCAC>
    <TERMINAL_CD>USJAX</TERMINAL_CD>
    <ISSUE_DT>2006-08-17T14:23:09</ISSUE_DT>
    <VESSEL_CD>VES</VESSEL_CD>
    <VOYAGE_CD>VOYA</VOYAGE_CD>
    <POL />
    <POD>POD_0</POD>
    <SHIPMENTUNITS>
    <UNITNBR>1234</UNITNBR>
    <UNITTYPE_CD>CAR</UNITTYPE_CD>
    <MAKE>HON</MAKE>
    <MODEL>ACCO</MODEL>
    <COLOR>RED</COLOR>
    <FULLEMPTY_CD>F</FULLEMPTY_CD>
    <LENGTH>0011</LENGTH>
    <WIDTH>0022</WIDTH>
    <HEIGHT>0033</HEIGHT>
    <DIMENSIONUOM>C</DIMENSIONUOM>
    <WEIGHT>000010</WEIGHT>
    <WGTUOM>K</WGTUOM>
    </SHIPMENTUNITS>
    </SHIPMENT>

    I don't quite understand what you want to achieve.
    If you store the data in an XML data type then you get the XML as is and all the children are associated with their parents.
    If you want to decompose them into relational tables using OpenXML, then you either use the id values provided in the data and use the parent axis, or if no such id values are present look at the so called meta properties @mp:id and @mp:parentid. In your case you have the shipment number and unit number that you could use. The first approach you can do with the nodes() method too (but the meta properties are OpenXML only).
    In the following example I show you both. In your case you don't need the @mp: parts. Also, since OpenXML needs a complete document I added a single root node.
    declare @i int;
    exec sp_xml_preparedocument @i output,
    N'<doc><SHIPMENT xmlns="">
      <SHIPMENTNBR>US1011</SHIPMENTNBR>
      <SHIPMENTTYPE_CD>BK</SHIPMENTTYPE_CD>
      <LINESCAC>ACLH</LINESCAC>
      <TERMINAL_CD>USJAX</TERMINAL_CD>
      <ISSUE_DT>2006-08-17T14:23:09</ISSUE_DT>
      <VESSEL_CD>VES</VESSEL_CD>
      <VOYAGE_CD>VOYA</VOYAGE_CD>
      <POL />
      <POD>POD_0</POD>
      <SHIPMENTUNITS>
        <UNITNBR>1234</UNITNBR>
        <UNITTYPE_CD>CAR</UNITTYPE_CD>
        <MAKE>HON</MAKE>
        <MODEL>ACCO</MODEL>
        <COLOR>RED</COLOR>
        <FULLEMPTY_CD>F</FULLEMPTY_CD>
        <LENGTH>0011</LENGTH>
        <WIDTH>0022</WIDTH>
        <HEIGHT>0033</HEIGHT>
        <DIMENSIONUOM>C</DIMENSIONUOM>
        <WEIGHT>000010</WEIGHT>
        <WGTUOM>K</WGTUOM>
      </SHIPMENTUNITS>
    </SHIPMENT>
    <SHIPMENT xmlns="">
      <SHIPMENTNBR>IN2052</SHIPMENTNBR>
      <SHIPMENTTYPE_CD>BK</SHIPMENTTYPE_CD>
      <LINESCAC>ACLH</LINESCAC>
      <TERMINAL_CD>USJAX</TERMINAL_CD>
      <ISSUE_DT>2006-08-17T14:23:09</ISSUE_DT>
      <VESSEL_CD>VES</VESSEL_CD>
      <VOYAGE_CD>VOYA</VOYAGE_CD>
      <POL />
      <POD>POD_0</POD>
      <SHIPMENTUNITS>
        <UNITNBR>1234</UNITNBR>
        <UNITTYPE_CD>CAR</UNITTYPE_CD>
        <MAKE>HON</MAKE>
        <MODEL>ACCO</MODEL>
        <COLOR>RED</COLOR>
        <FULLEMPTY_CD>F</FULLEMPTY_CD>
        <LENGTH>0011</LENGTH>
        <WIDTH>0022</WIDTH>
        <HEIGHT>0033</HEIGHT>
        <DIMENSIONUOM>C</DIMENSIONUOM>
        <WEIGHT>000010</WEIGHT>
        <WGTUOM>K</WGTUOM>
      </SHIPMENTUNITS>
    </SHIPMENT></doc>'
    select *
    from OpenXML(@i, '/doc/SHIPMENT')
            with (
                     id int '@mp:id'
                   , nbr varchar(40) 'SHIPMENTNBR'
    select *
    from OpenXML(@i, '/doc/SHIPMENT/SHIPMENTUNITS')
            with (
                     id int '@mp:id'
                   , ship_id int '@mp:parentid'
                   , ship_nbr varchar(40) '../SHIPMENTNBR'
                   , nbr varchar(40) 'UNITNBR'
    exec sp_xml_removedocument @i
    Best regards
    Michael

  • Hi all..very urgent..problem with the transaction VL10.

    Hi gurus,i having trouble in executing the transaction VL10.
    the procedure is as follows.
    1.Enter the transaction VL10
    2.Select Sales orders Tab
    Enter sales document number 16283319 to 16283320
    Remaining all fields should be blank
    3.Click on Execute Icon.
    4.Selected  two Sales Documents.
    5.Clickd  on Back ground icon.
    6.Error i am getting is OBJECT REQUESTED IS CURRENTLY LOCKED BY USER PSREDDY.
    Can anybody help me with this..very urgent and full marks wud be given.

    Hi Sahil,
    Go to transaction SM12, put user name PSREDDY.
    Exceute it, and select all entry and delete.
    After follow the same procedure, you followed early.
    Hope it will solve the problem.
    Regards
    Krishnendu

  • Moving all Aperture masters/ versions to external hard drive.

    Instead of having any / all photos located on my internal hard drive, I would prefer to have that information stored on an external hard drive. Does the "relocate masters" process complete this task? When I import new photos into Aperture 3 will that information automatically move onto the external hard drive?
    thanks in advance

    There are two considerations here:
    -- Where you place your master images, and,
    -- Where you place your versions/previews/thumbs.
    Masters are write one/read many, so they can be anywhere you want and disk speed is not much of an issue. Your versions, on the other hand, store your edits and get read and rewritten frequently. You want them on your fastest drive, which is usually your internal drive.
    Thus if you are running out of space on your internal drive, you are generally better off going to a "referenced" master library, with the masters on an external drive while leaving the Aperture Library proper on your internal drive.
    As a rule of thumb, the masters make up about 75+% of your total Aperture library. Thus relocating the masters out of the Library should leave your with a Library that is only about 25% the original size. (Depends on size of previews, number of versions per master, size of master, etc.)
    You can specify where to put your master during each import session and you can mix and match to your heart's content.
    -- DiploStrat

  • Hi all..very urgent..error fixing..full marks wud be given for the answers.

    Hi guys..facing problem in error fixing.in bdc...prgm is in ECC 6.0..
    prgm is
    *& Report  ZCJI_CNV_POSTGOODSRECEIPT_ALT1
    REPORT  ZCJI_CNV_POSTGOODSRECEIPT_ALT1.
    *REPORT ZCJI_CNV_POSTGOODSRECEIPT_ALT NO STANDARD PAGE HEADING
                      LINE-SIZE 255.
    *Program:  ZCJI_CNV_POSTGOODSRECEIPT_ALT                               *
    *Function: This program is used to carry out GR transaction MB0A for
             CJI import logistics purchase orders. The objective is to
             choose only those purchase orders for which billing has been
             carried out already. Once GR document is posted, the status
             of delivery document items is also updated.
    DATE        AUTHOR      SCR #         CHANGE DESCRIPTION
    11/04/03   Ohm Reddy   BRD # 90      Initial version
                           DEVK928402
    02/25/04   Ohm Reddy                 In BDC session for posting Goods
                           DEVK929329    Receipt document, update document
                                         date with system local date
                                         (SYST-DATLO) rather than with
                                         system date(SYST-DATUM)
    06/23/04   Ohm Reddy                 Post GR only when sales order
                           DEVK931359    item SKU and PO item SKU matches
    03/21/05   Alex Mutia  13829/DEVK934135                              *
                           Phase II modifications:                       *
                           1. Added criteria in the selection screen;    *
                           2. Modified record selection logic;           *
                           3. Added fields in the Control Report;        *
    04/08/05   Alex Mutia  13829/DEVK934262                              *
                           Fixed bug in processing MFRGR field;          *
    04/13/05   Alex Mutia  13829/DEVK934283                              *
                           1.Fixed bug in assigning error record pointers*
                             to part-success part-error POs;             *
                           2.Added SO and SO line item numbers in report;*
                           3.Compressed report to fit in 255 columns;    *
    04/27/05   Alex Mutia  13829/DEVK934384                              *
                           1.Material documents retrieval changed from   *
                             MSEG to EKBE for performance.               *
                           2.Display empty ALV columns when no records   *
                             were selected for processing;               *
    TYPE-POOLS: SLIS.
    DATA:   GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA:   G_LAYOUT_ALV_SPEC TYPE SLIS_LAYOUT_ALV.
    *INCLUDE ZMMCJI_CNV_POSTGR_BDC2.
    INCLUDE ZCJI_CNV_PGR_DATA_ALT.
    $--"DEVK934135 Begin;-$
    INITIALIZATION.                                  "DEVK934135
      PERFORM INITIALIZE_VENDOR.                     "DEVK934135
      PERFORM INITIALIZE_PRICE.                      "DEVK934135
    $--"DEVK934135 End;---$
    START-OF-SELECTION.
      IF P_LIFNR IS INITIAL.                         "DEVK934135
        PERFORM INITIALIZE_VENDOR.                   "DEVK934135
      ENDIF.                                         "DEVK934135
      IF P_NETPR IS INITIAL.                         "DEVK934135
        PERFORM INITIALIZE_PRICE.                    "DEVK934135
      ENDIF.                                         "DEVK934135
      PERFORM 100_SELECT_DATA.
    END-OF-SELECTION.
    CHECK: g_return_code IS INITIAL.               "DEVK934384
    IF NOT itab[] IS INITIAL.                      "DEVK934384
      IF G_RETURN_CODE IS INITIAL  AND               "DEVK934384
         NOT ITAB[] IS INITIAL.                      "DEVK934384
        PERFORM 200_PROCESS_DATA.
        PERFORM 300_POST_DOCUMENTS.
        PERFORM 399_RETRIEVE_DOCUMENTS.
        PERFORM REORG_ITAB.
        PERFORM BUILD_HEADER_CATALOG.
        PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
        SY_COPY = SYST.
        PERFORM SHOW_TRANSACTION_ERRORS.
      ELSE.                                          "DEVK934384
        PERFORM SHOW_EMPTY_LIST.                     "DEVK934384
      ENDIF.
    *&      Form  SELECT_DATA
    FORM 100_SELECT_DATA.
      PERFORM 110_SELECT_OPEN_PO_QTY.
      CHECK: G_RETURN_CODE IS INITIAL.
      PERFORM 120_SELECT_PO_BILLED_QTY.
    ENDFORM.                    " 100_SELECT_DATA
    *&      Form  110_SELECT_OPEN_PO_QTY
    FORM 110_SELECT_OPEN_PO_QTY.
    $--"DEVK934135 Begin;-$
      SELECT T1~VGBEL
             T1~VGPOS
             T1~VBELN
             T1~POSNR
             T1~MATNR
             T1~LFIMG
             T1~MFRGR
             T2~LIFEX
             T2~LFDAT
             FROM       LIPS AS T1
             INNER JOIN LIKP AS T2
             ON T1MANDT EQ T2MANDT  AND
                T1VBELN EQ T2VBELN
             APPENDING CORRESPONDING FIELDS OF TABLE ITAB_LIPS
             WHERE T1~MANDT EQ SY-MANDT         "client is system client
              AND  T1~VBELN IN S_VBELN          "billing doc in criteria
              AND  T1~VGBEL IN S_EBELN          "po reference in criteria
              AND  T1~PSTYV EQ 'ELN'            "billing item category
              AND  T1~WERKS EQ 'JDC1'           "plant
              AND  T1~MFRGR NE 'C'              "material freight group
              AND  T2~LIFNR EQ  P_LIFNR.        "vendor is param vendor
      LOOP AT ITAB_LIPS.
        ITAB_LIPS-EBELN = ITAB_LIPS-VGBEL.
        ITAB_LIPS-EBELP = ITAB_LIPS-VGPOS.
        ITAB_LIPS-CHARG = ITAB_LIPS-LIFEX.
        ITAB_LIPS-OLDMFRGR
                        = ITAB_LIPS-MFRGR.
        MODIFY ITAB_LIPS.
      ENDLOOP.
      IF ITAB_LIPS[] IS INITIAL.
      MESSAGE i032(zm) WITH text-m11.              "DEVK934384
        G_RETURN_CODE = 'X'.
        EXIT.
      ENDIF.
      SELECT T1~EBELN
             T1~EBELP
             T1~LICHA
             T2~MATNR
             T2~MENGE
             T2~LOEKZ
             T2~ELIKZ
             T2~NETPR
             T3~IHREZ
             FROM       EKET AS T1
             INNER JOIN EKPO AS T2
             ON T1MANDT EQ T2MANDT  AND
                T1EBELN EQ T2EBELN  AND
                T1EBELP EQ T2EBELP
             INNER JOIN EKKO AS T3
             ON T1MANDT EQ T3MANDT  AND
                T1EBELN EQ T3EBELN
             APPENDING CORRESPONDING FIELDS OF TABLE ITAB
             FOR ALL ENTRIES IN ITAB_LIPS
             WHERE T1~MANDT EQ SY-MANDT         "client is system client
              AND  T1~EBELN EQ ITAB_LIPS-EBELN  "po# matches w/ billing
              AND  T3~BSART IN ('YT', 'YN').    "po type
      IF ITAB[] IS INITIAL.
      MESSAGE i032(zm) WITH text-m11.              "DEVK934384
        G_RETURN_CODE = 'X'.
        EXIT.
      ENDIF.
    $--"DEVK934135 End;---$
    delete any duplicate entries in itab table
      SORT ITAB BY EBELN EBELP.
      DELETE ADJACENT DUPLICATES FROM ITAB COMPARING EBELN EBELP.
      LOOP AT ITAB.
        ITAB-RECID = SY-TABIX.
        IF NOT ITAB-IHREZ IS INITIAL.
          WHILE ITAB-IHREZ+0(1) EQ ' '.
            SHIFT ITAB-IHREZ.
          ENDWHILE.
          WHILE ITAB-IHREZ+9(1) EQ ' '.
            SHIFT ITAB-IHREZ RIGHT.
            ITAB-IHREZ+0(1) = '0'.
          ENDWHILE.
        ENDIF.
        MODIFY ITAB.
      ENDLOOP.
    delete  ITAB_LIPS entries that are not there in ITAB
      LOOP AT ITAB_LIPS.
        SY_COPY-TABIX = SY-TABIX.
        CLEAR ITAB.
        READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
                                 EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
        SY_COPY-INDEX = SY-TABIX.
        IF SY-SUBRC NE 0.
          DELETE ITAB_LIPS.
        ELSE.
          ITAB_LIPS-IHREZ = ITAB-IHREZ.
          MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.
          ITAB-MFRGR = ITAB_LIPS-MFRGR.
          ITAB-LIFEX = ITAB_LIPS-LIFEX.
          ITAB-OLDMFRGR
                     = ITAB_LIPS-OLDMFRGR.
          MODIFY ITAB      INDEX SY_COPY-INDEX.
        ENDIF.
      ENDLOOP.
    select the goods receipts documents created for the above deliveries
      SELECT EBELN EBELP BELNR GJAHR
                     INTO TABLE ITAB_EKBE FROM EKBE
                                FOR ALL ENTRIES IN ITAB_LIPS
                                WHERE EBELN = ITAB_LIPS-EBELN
                                AND   EBELP = ITAB_LIPS-EBELP.
    select Goods receipt data from MSEG table for the above deliveries
      IF NOT ITAB_EKBE[] IS INITIAL.
        SELECT EBELN EBELP CHARG BWART MENGE MBLNR MJAHR ZEILE
                       INTO TABLE ITAB_MSEG FROM MSEG
                                  FOR ALL ENTRIES IN ITAB_EKBE
                                  WHERE MBLNR = ITAB_EKBE-BELNR
                                  AND   MJAHR = ITAB_EKBE-GJAHR.
      ENDIF.
      SORT ITAB_MSEG BY EBELN EBELP CHARG.
    calculate the GR qty eligible to be posted
      SORT ITAB_LIPS BY EBELN EBELP.
      LOOP AT ITAB_LIPS.
        ITAB_LIPS-POSTQTY = ITAB_LIPS-LFIMG.
        CLEAR ITAB_MSEG.
        LOOP AT ITAB_MSEG WHERE EBELN = ITAB_LIPS-EBELN
                          AND   EBELP = ITAB_LIPS-EBELP
                          AND   CHARG = ITAB_LIPS-CHARG.
          IF ITAB_MSEG-BWART = '101'.
            ITAB_LIPS-POSTQTY = ITAB_LIPS-POSTQTY - ITAB_MSEG-MENGE.
          ELSEIF ITAB_MSEG-BWART = '102'.
            ITAB_LIPS-POSTQTY = ITAB_LIPS-POSTQTY + ITAB_MSEG-MENGE.
          ENDIF.
        ENDLOOP.
        MODIFY ITAB_LIPS.
        CLEAR ITAB_LIPS.
      ENDLOOP.
      LOOP AT ITAB.
        ITAB-RECID = SY-TABIX.
        MODIFY ITAB.
        LOOP AT ITAB_LIPS WHERE EBELN EQ ITAB-EBELN
                           AND  EBELP EQ ITAB-EBELP.
          ITAB_LIPS-RECID = ITAB-RECID.
          MODIFY ITAB_LIPS.
        ENDLOOP.
      ENDLOOP.
    free the memory of unnecessary internal tables
    $--"DEVK934135 Begin;-$
      CLEAR: ITAB_EKBE.
      FREE:  ITAB_EKBE.
    $--"DEVK934135 End;---$
    ENDFORM.                    " 110_SELECT_OPEN_PO_QTY
    *&      Form  120_SELECT_PO_BILLED_QTY
    FORM 120_SELECT_PO_BILLED_QTY.
    $--"DEVK934135 Begin;-$
      SELECT T1~VBELN
             T1~POSNR
             T1~FKIMG
             T1~AUBEL
             T1~AUPOS
             APPENDING CORRESPONDING FIELDS OF TABLE ITAB_VBRP
             FROM       VBRP AS T1
             INNER JOIN VBRK AS T2
             ON T1MANDT EQ T2MANDT  AND
                T1VBELN EQ T2VBELN
             FOR ALL ENTRIES IN ITAB
             WHERE T1~MANDT EQ SY-MANDT         "client is system client
              AND  T1~VBELN EQ ITAB-IHREZ+0(10) "billing doc = your ref.
              AND  T2~FKSTO EQ ' '.             "status NOT cancelled
    Match ITAB-IHREZ <-> ITAB_VBRP-VBELN...
           ITAB-LICHA <-> ITAB_VBRP-POSNR...
      LOOP AT ITAB.
        SY_COPY-TABIX = SY-TABIX.
      Check your reference (IHREZ) field;
        IF ITAB-IHREZ IS INITIAL.                    "your-ref blank
          ITAB-ERRFA = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          GT_ERROR-ERRTX = TEXT-E0A.
          APPEND GT_ERROR.
        ELSE.                                        "your-ref NOT blank
          IF ITAB-IHREZ CO ' 0123456789'.            "your-ref numeric
          ENDIF.                                     "your-ref numeric
          IF SY-FDPOS NE 12.                         "your-ref NOT numeric
            ITAB-ERRFA = 'X'.
            GT_ERROR-RECID = ITAB-RECID.
            GT_ERROR-ERRTX = TEXT-E0A.
            APPEND GT_ERROR.
          ELSE.                                      "your-ref NOT numeric
          Check PO line item (LICHA) field;
            IF ITAB-LICHA IS INITIAL.                "line item blank
              ITAB-ERRFA = 'X'.
              GT_ERROR-RECID = ITAB-RECID.
              GT_ERROR-ERRTX = TEXT-E01.
              APPEND GT_ERROR.
            ELSE.                                    "line item NOT blank
              IF ITAB-LICHA CO ' 0123456789'.        "line item numeric
              ENDIF.                                 "line item numeric
              IF SY-FDPOS NE 15.                     "line item NOT numeric
                ITAB-ERRFA = 'X'.
                GT_ERROR-RECID = ITAB-RECID.
                GT_ERROR-ERRTX = TEXT-E01.
                APPEND GT_ERROR.
              ELSE.                                  "line item NOT numeric
                SY_COPY-SUBRC = 4.
                READ TABLE ITAB_VBRP
                     WITH KEY VBELN = ITAB-IHREZ+0(10)
                              POSNR = ITAB-LICHA+0(6)    BINARY SEARCH.
                SY_COPY-SUBRC = SY-SUBRC.
                IF SY_COPY-SUBRC NE 0.
                  ITAB-ERRFA = 'X'.
                  GT_ERROR-RECID = ITAB-RECID.
                  GT_ERROR-ERRTX = TEXT-E01.
                  APPEND GT_ERROR.
                ELSE.                                "DEVK934283
                  ITAB-AUBEL = ITAB_VBRP-AUBEL.      "DEVK934283
                  ITAB-AUPOS = ITAB_VBRP-AUPOS.      "DEVK934283
                ENDIF.
              ENDIF.                                 "line item NOT numeric
            ENDIF.                                   "line item blank
          ENDIF.                                     "your-ref NOT numeric
        ENDIF.                                       "your-ref blank
      Check ID - LIFEX;
        IF ITAB-LIFEX EQ ' '.                        "LIFEX is blank
          ITAB-ERRFB = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          GT_ERROR-ERRTX = TEXT-ERB.
          APPEND GT_ERROR.
        ELSE.                                        "LIFEX is NOT blank
        Check ID - MFRGR;
          IF ITAB-MFRGR NE 'G'.                      "MFRGR NOT G
            ITAB-ERRFC = 'X'.
            GT_ERROR-RECID = ITAB-RECID.
            GT_ERROR-ERRTX = TEXT-ERC.
            APPEND GT_ERROR.
          ENDIF.                                     "MFRGR NOT G
        ENDIF.                                       "LIFEX is blank
      Check PO - Deletion indicator;
        IF ITAB-LOEKZ NE ' '.                        "LOEKZ NOT blank
          ITAB-ERRFD = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          GT_ERROR-ERRTX = TEXT-ERD.
          APPEND GT_ERROR.
        ENDIF.                                       "LOEKZ NOT blank
      Check PO - Delivery completed flag;
        IF ITAB-ELIKZ NE ' '.                        "ELIKZ NOT blank
          ITAB-ERRFE = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          GT_ERROR-ERRTX = TEXT-ERE.
          APPEND GT_ERROR.
        ENDIF.                                       "ELIKZ NOT blank
      Check PO - Net price;
        IF ITAB-NETPR LT P_NETPR.                    "price < parameter
          ITAB-ERRFF = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          CONCATENATE TEXT-ERF
                      G_NETPR
                      TEXT-USD
                      INTO GT_ERROR-ERRTX SEPARATED BY SPACE.
          APPEND GT_ERROR.
        ENDIF.                                       "ELIKZ NOT blank
        IF ITAB-AUPOS EQ '000000'.
          CLEAR: ITAB-AUPOS.
        ENDIF.
        MODIFY ITAB INDEX SY_COPY-TABIX.
      ENDLOOP.
      LOOP AT ITAB.                                  "DEVK934283
        READ TABLE ITAB_LIPS                         "DEVK934283
             WITH KEY VGBEL = ITAB-EBELN             "DEVK934283
                      VGPOS = ITAB-EBELP             "DEVK934283
             BINARY SEARCH.                          "DEVK934283
        SY_COPY-TABIX = SY-TABIX.                    "DEVK934283
        IF SY-SUBRC EQ 0.                            "DEVK934283
          ITAB_LIPS-AUBEL = ITAB-AUBEL.              "DEVK934283
          ITAB_LIPS-AUPOS = ITAB-AUPOS.              "DEVK934283
          MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.      "DEVK934283
        ENDIF.                                       "DEVK934283
      ENDLOOP.                                       "DEVK934283
    Transfer errors from ITAB to ITAB_LIPS;
      LOOP AT ITAB WHERE ERRFA EQ 'X'
                    OR   ERRFB EQ 'X'
                    OR   ERRFC EQ 'X'
                    OR   ERRFD EQ 'X'
                    OR   ERRFE EQ 'X'
                    OR   ERRFF EQ 'X'.
        READ TABLE ITAB_LIPS
             WITH KEY VGBEL = ITAB-EBELN
                      VGPOS = ITAB-EBELP  BINARY SEARCH.
        SY_COPY-TABIX = SY-TABIX.
        IF SY-SUBRC EQ 0.
          ITAB_LIPS-ERRFA    = ITAB-ERRFA.
          ITAB_LIPS-ERRFB    = ITAB-ERRFB.
          ITAB_LIPS-ERRFC    = ITAB-ERRFC.
          ITAB_LIPS-ERRFD    = ITAB-ERRFD.
          ITAB_LIPS-ERRFE    = ITAB-ERRFE.
          ITAB_LIPS-ERRFF    = ITAB-ERRFF.
          ITAB_LIPS-NEWMFRGR = 'E'.
          MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.
        ENDIF.
      ENDLOOP.
    $--"DEVK934135 End;---$
    ENDFORM.                    " 120_SELECT_PO_BILLED_QTY
    *&      Form  200_PROCESS_DATA
    FORM 200_PROCESS_DATA.
      PERFORM 210_CONSOLIDATE_DATA.
      PERFORM 220_PROCESS_DATA.
    ENDFORM.                    " 200_PROCESS_DATA
    *&      Form  210_consolidate_data
    FORM 210_CONSOLIDATE_DATA.
    Get the PO item open qty and billed qty into one table
      LOOP AT ITAB.
        CLEAR ITAB_LIPS.
        LOOP AT ITAB_LIPS WHERE EBELN = ITAB-EBELN
                          AND   EBELP = ITAB-EBELP.
         ITAB-IDQTY = ITAB-IDQTY + ITAB_LIPS-POSTQTY.      "inbound delv qty
        ENDLOOP.
        CLEAR ITAB_VBRP.
        LOOP AT ITAB_VBRP WHERE VBELN = ITAB-IHREZ
                          AND   POSNR = ITAB-LICHA.
          ITAB-FKIMG = ITAB-FKIMG + ITAB_VBRP-FKIMG.    "PO item billed qty
        ENDLOOP.
        CLEAR ITAB_MSEG.
        LOOP AT ITAB_MSEG WHERE EBELN = ITAB-EBELN
                          AND   EBELP = ITAB-EBELP.
          IF ITAB_MSEG-BWART = '101'.
           ITAB-GRQTY = ITAB-GRQTY + ITAB_MSEG-MENGE.        "PO item GR qty
          ELSEIF ITAB_MSEG-BWART = '102'.
           ITAB-GRQTY = ITAB-GRQTY - ITAB_MSEG-MENGE.        "PO item GR qty
          ELSEIF ITAB_MSEG-BWART = '122'.            "DEVK934135
           ITAB-GRQTY = ITAB-GRQTY - ITAB_MSEG-MENGE.        "PO item GR qty
          ENDIF.
        ENDLOOP.
        ITAB-RCVQTY = ITAB-FKIMG - ITAB-GRQTY.  "qty billed but not received
    calculate the quantity to be processed for which GRs are to be posted
        IF ITAB-RCVQTY > 0 AND ITAB-RCVQTY > ITAB-IDQTY.
          ITAB-PROCQTY = ITAB-IDQTY.
        ELSEIF ITAB-RCVQTY > 0 AND ITAB-RCVQTY < ITAB-IDQTY.
          ITAB-PROCQTY = ITAB-RCVQTY.
        ELSEIF ITAB-RCVQTY > 0 AND ITAB-RCVQTY = ITAB-IDQTY.
          ITAB-PROCQTY = ITAB-IDQTY.
        ENDIF.
        MODIFY ITAB.
        CLEAR ITAB.
      ENDLOOP.
    free the memory of unnecessary internal tables
    $--"DEVK934135 Begin;-$
      CLEAR: ITAB_MSEG.
      FREE:  ITAB_MSEG.
    $--"DEVK934135 End;---$
    ENDFORM.                    " 210_consolidate_data
    *&      Form  220_PROCESS_DATA
    FORM 220_PROCESS_DATA.
      DATA: L0_FISCAL_PERIOD  LIKE BAPI0002_4-FISCAL_PERIOD,
            L0_FISCAL_YEAR    LIKE BAPI0002_4-FISCAL_YEAR,
            L0_RETURN         LIKE BAPIRETURN1,
            L1_FISCAL_PERIOD  LIKE BAPI0002_4-FISCAL_PERIOD,
            L1_FISCAL_YEAR    LIKE BAPI0002_4-FISCAL_YEAR,
            L1_RETURN         LIKE BAPIRETURN1.
      SORT ITAB_LIPS BY VGBEL VGPOS EBELN EBELP
                        LFDAT DESCENDING POSNR ASCENDING.
      SORT ITAB BY EBELN EBELP.
    Calculate the GR quanities to be posted for all inbound deliveries
      LOOP AT ITAB_LIPS.
        AT NEW EBELP.
          CLEAR ITAB.
          CLEAR V_RCVQTY.
          READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
                                   EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
          V_RCVQTY = ITAB-RCVQTY.
        ENDAT.
        IF ITAB-PROCQTY GT 0.
          IF ITAB_LIPS-POSTQTY GT ITAB-PROCQTY.
            ITAB_LIPS-PROCQTY = ITAB-PROCQTY.
            ITAB_LIPS-NEWMFRGR = 'B'.
            ITAB-PROCQTY = 0.
          ELSEIF ITAB_LIPS-POSTQTY LT ITAB-PROCQTY.
            ITAB_LIPS-PROCQTY = ITAB_LIPS-POSTQTY.
            ITAB_LIPS-NEWMFRGR = 'C'.
            ITAB-PROCQTY = ITAB-PROCQTY - ITAB_LIPS-POSTQTY.
          ELSEIF ITAB_LIPS-POSTQTY EQ ITAB-PROCQTY.
            ITAB_LIPS-PROCQTY = ITAB_LIPS-POSTQTY.
            ITAB_LIPS-NEWMFRGR = 'C'.
            ITAB-PROCQTY = 0.
          ENDIF.
    Compare the Inbound delivery processing quantity with the pending
    billing quantity to write it in the report log
          IF ITAB_LIPS-POSTQTY LT V_RCVQTY.
            ITAB_LIPS-GRIND = 'D'.            "GR will be created for ID qty
            V_RCVQTY = V_RCVQTY - ITAB_LIPS-POSTQTY.
          ELSEIF ITAB_LIPS-POSTQTY GT V_RCVQTY.
            ITAB_LIPS-GRIND = 'B'.       "GR will be created for Billied qty
            V_RCVQTY = 0.
          ELSEIF ITAB_LIPS-POSTQTY EQ V_RCVQTY.
            ITAB_LIPS-GRIND = 'S'.            "Billed qty is equal to ID qty
            V_RCVQTY = 0.
          ENDIF.
        ELSE.
    Decide why this inbound delivery could not have GR quantity -
    excess GR quantity or unavailable Billing quantity
          IF ITAB-RCVQTY LT ITAB-IDQTY.
            ITAB_LIPS-GRIND = 'C'.      "GR not created - Lack of Billed qty
          ENDIF.
          IF ITAB-RCVQTY LT 0.
            ITAB_LIPS-GRIND = 'A'.       "GR not created - GR qty > Bill qty
          ENDIF.
        ENDIF.
        MODIFY ITAB_LIPS.
        CLEAR ITAB_LIPS.
      ENDLOOP.
    $--"DEVK934135-Begin;-$
      LOOP AT ITAB_LIPS.
        AT NEW EBELP.
          CLEAR ITAB.
          CLEAR V_RCVQTY.
          READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
                                   EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
          V_RCVQTY = ITAB-FKIMG - ITAB-GRQTY.
        ENDAT.
        IF ITAB_LIPS-ERRFA IS INITIAL.
          IF V_RCVQTY EQ 0.
            ITAB_LIPS-ERRF1    = 'X'.
            ITAB_LIPS-NEWMFRGR = 'E'.
            GT_ERROR-RECID = ITAB-RECID.
            GT_ERROR-ERRTX = TEXT-R01.
            APPEND GT_ERROR.
          ELSEIF V_RCVQTY LT 0.
            ITAB_LIPS-ERRF2    = 'X'.
            ITAB_LIPS-NEWMFRGR = 'E'.
            GT_ERROR-RECID = ITAB-RECID.
            GT_ERROR-ERRTX = TEXT-R02.
            APPEND GT_ERROR.
          ELSEIF V_RCVQTY GT 0.
            IF V_RCVQTY EQ ITAB_LIPS-LFIMG.
              ITAB_LIPS-ERRF3    = 'X'.
              ITAB_LIPS-NEWMFRGR = 'C'.
            ELSEIF V_RCVQTY GT ITAB_LIPS-LFIMG.
              ITAB_LIPS-ERRF4    = 'X'.
              ITAB_LIPS-NEWMFRGR = 'C'.
              ITAB_LIPS-PROCQTY  =  ITAB_LIPS-LFIMG.
              GT_ERROR-RECID = ITAB-RECID.
              GT_ERROR-ERRTX = TEXT-R04.
              APPEND GT_ERROR.
            ELSEIF V_RCVQTY LT ITAB_LIPS-LFIMG.
              ITAB_LIPS-ERRF5    = 'X'.
              ITAB_LIPS-NEWMFRGR = 'E'.
              GT_ERROR-RECID = ITAB-RECID.
              GT_ERROR-ERRTX = TEXT-R05.
              APPEND GT_ERROR.
            ENDIF.
          ENDIF.
        ENDIF.
        CLEAR: ITAB_LIPS-BLDAT.
        READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-VGBEL
                                 EBELP = ITAB_LIPS-VGPOS BINARY SEARCH.
        SELECT SINGLE FKDAT
               FROM  VBRK
               INTO (ITAB_LIPS-BLDAT)
               WHERE VBELN EQ ITAB-IHREZ+0(10).
        CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
             EXPORTING
                  COMPANYCODEID = 'C800'
                  POSTING_DATE  =  ITAB_LIPS-BLDAT
             IMPORTING
                  FISCAL_YEAR   =  L0_FISCAL_YEAR
                  FISCAL_PERIOD =  L0_FISCAL_PERIOD
                  RETURN        =  L0_RETURN.
        CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
             EXPORTING
                  COMPANYCODEID = 'C800'
                  POSTING_DATE  =  SY-DATLO
             IMPORTING
                  FISCAL_YEAR   =  L1_FISCAL_YEAR
                  FISCAL_PERIOD =  L1_FISCAL_PERIOD
                  RETURN        =  L1_RETURN.
        IF L0_FISCAL_YEAR   EQ L1_FISCAL_YEAR  AND
           L0_FISCAL_PERIOD EQ L1_FISCAL_PERIOD.
          ITAB_LIPS-BUDAT = ITAB_LIPS-BLDAT.
        ELSE.
          ITAB_LIPS-BUDAT = SY-DATLO.
        ENDIF.
        MODIFY ITAB_LIPS.
        CLEAR ITAB_LIPS.
      ENDLOOP.
    $--"DEVK934135-End;---$
    collect all the inbound deliveries for which goods receipt are to be
    made / material freight status  are to be updated
      LOOP AT ITAB_LIPS    WHERE ERRFA IS INITIAL       "DEVK934135
                            AND  ERRFB IS INITIAL       "DEVK934135
                            AND  ERRFC IS INITIAL       "DEVK934135
                            AND  ERRFD IS INITIAL       "DEVK934135
                            AND  ERRFE IS INITIAL       "DEVK934135
                            AND  ERRFF IS INITIAL       "DEVK934135
                            AND  ERRF1 IS INITIAL       "DEVK934135
                            AND  ERRF2 IS INITIAL       "DEVK934135
                            AND  ERRF5 IS INITIAL.      "DEVK934135
        IF ITAB_LIPS-PROCQTY GT 0 AND ITAB_LIPS-LFIMG NE 0.
          ITAB_LIPS_G-VBELN = ITAB_LIPS-VBELN.
          ITAB_LIPS_G-BLDAT = ITAB_LIPS-BLDAT.       "DEVK934135
          ITAB_LIPS_G-BUDAT = ITAB_LIPS-BUDAT.       "DEVK934135
          ITAB_LIPS_G-IHREZ = ITAB_LIPS-IHREZ.       "DEVK934135
          APPEND ITAB_LIPS_G.
        ENDIF.
      ENDLOOP.
      SORT ITAB_LIPS_G BY VBELN.
      DELETE ADJACENT DUPLICATES FROM ITAB_LIPS_G.
      LOOP AT ITAB_LIPS    WHERE NOT ERRFA IS INITIAL       "DEVK934135
                            OR   NOT ERRFB IS INITIAL       "DEVK934135
                            OR   NOT ERRFC IS INITIAL       "DEVK934135
                            OR   NOT ERRFD IS INITIAL       "DEVK934135
                            OR   NOT ERRFE IS INITIAL       "DEVK934135
                            OR   NOT ERRFF IS INITIAL       "DEVK934135
                            OR   NOT ERRF1 IS INITIAL       "DEVK934135
                            OR   NOT ERRF2 IS INITIAL       "DEVK934135
                            OR   NOT ERRF3 IS INITIAL       "DEVK934135
                            OR   NOT ERRF4 IS INITIAL       "DEVK934135
                            OR   NOT ERRF5 IS INITIAL.      "DEVK934135
          ITAB_LIPS_X-VBELN = ITAB_LIPS-VBELN.
          ITAB_LIPS_X-BLDAT = ITAB_LIPS-BLDAT.       "DEVK934135
          ITAB_LIPS_X-BUDAT = ITAB_LIPS-BUDAT.       "DEVK934135
          ITAB_LIPS_X-IHREZ = ITAB_LIPS-IHREZ.       "DEVK934135
          APPEND ITAB_LIPS_X.
      ENDLOOP.
      SORT ITAB_LIPS_X BY VBELN.
      DELETE ADJACENT DUPLICATES FROM ITAB_LIPS_X.
      LOOP AT ITAB_LIPS.
          READ TABLE ITAB WITH KEY RECID = ITAB_LIPS-RECID.
          SY_COPY-INDEX = SY-TABIX.
          IF SY-SUBRC EQ 0.
            ITAB-ERRFA = ITAB_LIPS-ERRFA.
            ITAB-ERRFB = ITAB_LIPS-ERRFB.
            ITAB-ERRFC = ITAB_LIPS-ERRFC.
            ITAB-ERRFD = ITAB_LIPS-ERRFD.
            ITAB-ERRFE = ITAB_LIPS-ERRFE.
            ITAB-ERRFF = ITAB_LIPS-ERRFF.
            ITAB-ERRF1 = ITAB_LIPS-ERRF1.
            ITAB-ERRF2 = ITAB_LIPS-ERRF2.
            ITAB-ERRF3 = ITAB_LIPS-ERRF3.
            ITAB-ERRF4 = ITAB_LIPS-ERRF4.
            ITAB-ERRF5 = ITAB_LIPS-ERRF5.
            MODIFY ITAB INDEX SY_COPY-INDEX.
          ENDIF.
      ENDLOOP.
    Decide the goods receipt item number for the delivery items that are
    to be processed. Delivery items with zero quantities are not shown up
    in MB0A transaction for GR
      CLEAR V_DEL_ZERO.
      IF NOT ITAB_LIPS_G[] IS INITIAL.
        SELECT VBELN POSNR LFIMG
                  INTO CORRESPONDING FIELDS OF TABLE ITAB_LIPS_Z FROM LIPS
                                  FOR ALL ENTRIES IN ITAB_LIPS_G
                                  WHERE VBELN = ITAB_LIPS_G-VBELN
                                  AND LFIMG EQ 0.
        IF SY-SUBRC EQ 0.
          V_DEL_ZERO = 'X'.
          CLEAR ITAB_LIPS_Z.
          FREE ITAB_LIPS_Z.
          SELECT VBELN POSNR LFIMG
                   INTO CORRESPONDING FIELDS OF TABLE ITAB_LIPS_Z FROM LIPS
                                    FOR ALL ENTRIES IN ITAB_LIPS_G
                                    WHERE VBELN = ITAB_LIPS_G-VBELN.
          SORT ITAB_LIPS_Z BY VBELN POSNR.
          LOOP AT ITAB_LIPS_Z.
            AT NEW VBELN.
              CLEAR V_ZEILE.
            ENDAT.
            IF ITAB_LIPS_Z-LFIMG NE 0.
              V_ZEILE = V_ZEILE + 1.
            ENDIF.
            ITAB_LIPS_Z-ZEILE = V_ZEILE.
            MODIFY ITAB_LIPS_Z.
          ENDLOOP.
        ELSE.
          V_DEL_ZERO = ' '.
        ENDIF.
      ENDIF.
      SORT ITAB_LIPS_Z BY VBELN POSNR.
      LOOP AT ITAB_LIPS.
        IF V_DEL_ZERO = ' '.
          ITAB_LIPS-ZEILE = ITAB_LIPS-POSNR.
        ELSE.
          CLEAR ITAB_LIPS_Z.
          READ TABLE ITAB_LIPS_Z WITH KEY VBELN = ITAB_LIPS-VBELN
                                    POSNR = ITAB_LIPS-POSNR BINARY SEARCH.
          ITAB_LIPS-ZEILE = ITAB_LIPS_Z-ZEILE.
        ENDIF.
        MODIFY ITAB_LIPS.
      ENDLOOP.
      SORT ITAB_LIPS BY VBELN DESCENDING POSNR ASCENDING.
    ENDFORM.                    " 220_PROCESS_DATA
    *&      Form  300_post_documents
    FORM 300_POST_DOCUMENTS.
      LOOP AT ITAB_LIPS_G.
        PERFORM 310_POST_GR_DOC.
        MODIFY ITAB_LIPS_G.
        CLEAR ITAB_LIPS_G.
      ENDLOOP.
      CLEAR: BDCDATA, BDCDATA[].
      ITAB_LIPS_R[] = ITAB_LIPS_G[].
      ITAB_LIPS_G[] = ITAB_LIPS_X[].
      LOOP AT ITAB_LIPS_G.
        PERFORM 350_UPDATE_DELIVERY_DOC.
        MODIFY ITAB_LIPS_G.
        CLEAR ITAB_LIPS_G.
      ENDLOOP.
    PERFORM close_group.
    ENDFORM.                    " 300_post_documents
    *&      Form  310_POST_GR_DOC
    FORM 310_POST_GR_DOC.
      PERFORM 320_POST_GR_HEADER.
      LOOP AT ITAB_LIPS WHERE VBELN = ITAB_LIPS_G-VBELN
                        AND   LFIMG NE 0
                        AND PROCQTY NE 0
                        AND ERRFA   IS INITIAL
                        AND ERRFB   IS INITIAL
                        AND ERRFC   IS INITIAL
                        AND ERRFD   IS INITIAL
                        AND ERRFE   IS INITIAL
                        AND ERRFF   IS INITIAL
                        AND ERRF1   IS INITIAL
                        AND ERRF2   IS INITIAL
                        AND ERRF5   IS INITIAL.
        IF ITAB_LIPS-ZEILE EQ 1.
          PERFORM 335_POST_GR_ITEMS.
        ELSE.
          PERFORM 330_POST_GR_ITEMS.
        ENDIF.
      ENDLOOP.
      PERFORM 340_SAVE_GR_DOC.
    ENDFORM.                    " 310_POST_GR_DOC
    *&      Form  320_POST_GR_HEADER
    FORM 320_POST_GR_HEADER.
      DATA: L_BLDAT    TYPE SYDATUM,
            L_BUDAT    TYPE SYDATUM.
      WRITE: ITAB_LIPS_G-BLDAT TO L_BLDAT,
             ITAB_LIPS_G-BUDAT TO L_BUDAT.
      IF ITAB_LIPS_G-IHREZ+0(10) NE '0000000000'  AND
         ITAB_LIPS_G-IHREZ+0(10) NE '          '.
        WHILE ITAB_LIPS_G-IHREZ+0(1) EQ '0'.
          SHIFT ITAB_LIPS_G-IHREZ.
        ENDWHILE.
      ENDIF.
      perform bdc_dynpro      using 'SAPMM07M' '0201'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RM07M-VLIEF'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
      PERFORM BDC_FIELD       USING 'MKPF-BKTXT'
                                    ITAB_LIPS_G-IHREZ.
      perform bdc_field       using 'MKPF-BLDAT'
                                    L_BLDAT.
      perform bdc_field       using 'MKPF-BUDAT'
                                    L_BUDAT.
      perform bdc_field       using 'RM07M-BWARTWE'
                                    '101'.
      perform bdc_field       using 'RM07M-WERKS'
      perform bdc_field       using 'RM07M-LGORT'
      perform bdc_field       using 'RM07M-XNUVO'
                                    'X'.
      perform bdc_field       using 'XFULL'
      perform bdc_field       using 'RM07M-VLIEF'
                                    ITAB_LIPS_G-VBELN.
      perform bdc_dynpro      using 'SAPMM07M' '0221'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SELN'.
      perform bdc_dynpro      using 'SAPMM07M' '0221'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MSEG-ERFMG(01)'.
    ENDFORM.                    " 320_POST_GR_HEADER
    *&      Form  330_POST_GR_ITEMS
    FORM 330_POST_GR_ITEMS.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=KLA'.
      perform bdc_dynpro      using 'SAPMM07M' '1501'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=OK'.
      VV_ZEILE = ITAB_LIPS-ZEILE.
      PERFORM BDC_FIELD       USING 'RM07M-ZEILE'
                                    VV_ZEILE.
      perform bdc_dynpro      using 'SAPMM07M' '0221'.
      perform bdc_field       using 'RM07M-XSELK(01)'
                                    'X'.
      VV_PROCQTY = ITAB_LIPS-PROCQTY.
      perform bdc_field       using 'MSEG-ERFMG(01)'
                                    VV_PROCQTY.
      perform bdc_field       using 'MSEG-CHARG(01)'
                                    ITAB_LIPS-CHARG.
      perform bdc_field       using 'MSEG-INSMK(01)'
                                    'S'.
    ENDFORM.                    " 330_POST_GR_ITEMS
    *&      Form  340_SAVE_GR_DOC
    FORM 340_SAVE_GR_DOC.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=BU'.
      CLEAR V_FAIL_IND.
      PERFORM BDC_TRANSACTION USING 'MB0A'
                              CHANGING V_FAIL_IND.
    ENDFORM.                    " 340_SAVE_GR_DOC
    *&      Form  350_UPDATE_DELIVERY_DOC
    FORM 350_UPDATE_DELIVERY_DOC.
      PERFORM 360_UPDATE_DELIVERY_HEADER.
      LOOP AT ITAB_LIPS WHERE VBELN = ITAB_LIPS_G-VBELN
                         AND  ERRFA IS INITIAL
                         AND  ERRFB IS INITIAL
                         AND  ERRFC IS INITIAL.
                       AND  errfd IS INITIAL
                       AND  errfe IS INITIAL.
        PERFORM 370_UPDATE_DELIVERY_ITEMS.
      ENDLOOP.
      PERFORM 380_SAVE_DELIVERY_DOC.
    ENDFORM.                    " 350_UPDATE_DELIVERY_DOC
    *&      Form  360_UPDATE_DELIVERY_HEADER
    FORM 360_UPDATE_DELIVERY_HEADER.
      perform bdc_dynpro      using 'SAPMV50A' '0108'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'LIKP-VBELN'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=UELA'.
      perform bdc_field       using 'LIKP-VBELN'
                                    ITAB_LIPS_G-VBELN.
    ENDFORM.                    " 360_UPDATE_DELIVERY_HEADER
    *&      Form  370_UPDATE_DELIVERY_ITEMS
    FORM 370_UPDATE_DELIVERY_ITEMS.
      IF ITAB_LIPS-ERRFD EQ 'X'  OR
         ITAB_LIPS-ERRFE EQ 'X'  OR
         ITAB_LIPS-ERRFF EQ 'X'.
        ITAB_LIPS-NEWMFRGR = 'E'.
      ENDIF.
      perform bdc_dynpro      using 'SAPMV50A' '0270'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RV50A-VERUR_LA'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=POPO'.
      perform bdc_dynpro      using 'SAPMV50A' '0111'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RV50A-POSNR'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=POPO'.
      VV_POSNR =  ITAB_LIPS-POSNR.
      perform bdc_field       using 'RV50A-POSNR'
                                    VV_POSNR.
      perform bdc_dynpro      using 'SAPMV50A' '0270'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'LIPS-POSNR(01)'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=LAPD'.
      perform bdc_field       using 'RV50A-LIPS_SELKZ(01)'
                                    'X'.
      perform bdc_dynpro      using 'SAPMV50A' '0570'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'LIPS-MFRGR'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=BACK'.
      perform bdc_field       using 'LIPS-MFRGR'
                                    ITAB_LIPS-NEWMFRGR.
    ENDFORM.                    " 370_UPDATE_DELIVERY_ITEMS
    *&      Form  380_SAVE_DELIVERY_DOC
    FORM 380_SAVE_DELIVERY_DOC.
      perform bdc_dynpro      using 'SAPMV50A' '0270'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RV50A-VERUR_LA'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SICH'.
    If GR document is not posted successfully, then do not update the
    status of delivery document
      CLEAR V_FAIL_IND.
      PERFORM BDC_TRANSACTION USING 'VL32'
                              CHANGING V_FAIL_IND.
      IF V_FAIL_IND = 'X'.
        CALL FUNCTION 'BDC_INSERT'
             EXPORTING
                  TCODE     = 'VL32'
             TABLES
                  DYNPROTAB = BDCDATA.
        REFRESH BDCDATA.
      ENDIF.
    ENDFORM.                    " 380_SAVE_DELIVERY_DOC
           Start new transaction according to parameters                 *
    FORM BDC_TRANSACTION USING TCODE
                         CHANGING V_FAILURE_IND.
      DATA: L_MSTRING(480).
      DATA: L_SUBRC LIKE SY-SUBRC.
      REFRESH MESSTAB.
      CALL TRANSACTION TCODE USING BDCDATA
                       MODE   CTUMODE
                       UPDATE CUPDATE
                       MESSAGES INTO MESSTAB.
      L_SUBRC = SY-SUBRC.
      CLEAR V_FAILURE_IND.
      IF L_SUBRC NE 0.
        V_FAILURE_IND = 'X'.
        CLEAR V_IND.
        LOOP AT MESSTAB.
          SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA
                                    AND   ARBGB = MESSTAB-MSGID
                                    AND   MSGNR = MESSTAB-MSGNR.
          IF SY-SUBRC = 0.
            L_MSTRING = T100-TEXT.
            IF L_MSTRING CS '&1'.
              REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING.
              REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING.
              REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING.
              REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING.
            ELSE.
              REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING.
              REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING.
              REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING.
              REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING.
            ENDIF.
            CONDENSE L_MSTRING.
            IF MESSTAB-MSGTYP = 'E'.
              ERRORTAB-TCODE       = TCODE.
              ERRORTAB-VBELN       = ITAB_LIPS_G-VBELN.
              ERRORTAB-ERROR_TEXT  = L_MSTRING.
              APPEND ERRORTAB.
              V_IND = 'X'.
            ENDIF.
          ELSE.
            IF MESSTAB-MSGTYP = 'E'.
              ERRORTAB-TCODE       = TCODE.
              ERRORTAB-VBELN       = ITAB_LIPS_G-VBELN.
              ERRORTAB-ERROR_TEXT  = TEXT-U01.
              APPEND ERRORTAB.
              V_IND = 'X'.
            ENDIF.
          ENDIF.
        ENDLOOP.
        IF V_IND IS INITIAL.
          ERRORTAB-TCODE       = TCODE.
          ERRORTAB-VBELN       = ITAB_LIPS_G-VBELN.
          ERRORTAB-ERROR_TEXT  = TEXT-U01.
          APPEND ERRORTAB.
        ENDIF.
      ELSE.
        IF TCODE = 'MB0A'.
          LOOP AT MESSTAB WHERE MSGTYP = 'S'
                          AND   MSGID = 'M7'
                          AND   MSGNR = '060'.
            IF NOT MESSTAB-MSGV1 IS INITIAL.
              ITAB_LIPS_G-MBLNR = MESSTAB-MSGV1.
            ENDIF.
          ENDLOOP.
        ELSEIF TCODE = 'VL32'.
          ITAB_LIPS_G-DLVIND = 'X'.
        ENDIF.
      ENDIF.
      IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
        IF E_GROUP_OPENED = ' '.
          CALL FUNCTION 'BDC_OPEN_GROUP'
               EXPORTING
                    CLIENT   = SY-MANDT
                    GROUP    = E_GROUP
                    USER     = E_USER
                    KEEP     = E_KEEP
                    HOLDDATE = E_HDATE.
          E_GROUP_OPENED = 'X'.
        ENDIF.
        CALL FUNCTION 'BDC_INSERT'
             EXPORTING
                  TCODE     = TCODE
             TABLES
                  DYNPROTAB = BDCDATA.
      ENDIF.
      REFRESH BDCDATA.
    ENDFORM.
    *&      Form  335_POST_GR_ITEMS
    FORM 335_POST_GR_ITEMS.
      VV_ZEILE = ITAB_LIPS-ZEILE.
      perform bdc_field       using 'RM07M-XSELK(01)'
                                    'X'.
      VV_PROCQTY = ITAB_LIPS-PROCQTY.
      perform bdc_field       using 'MSEG-ERFMG(01)'
                                    VV_PROCQTY.
      perform bdc_field       using 'MSEG-CHARG(01)'
                                    ITAB_LIPS-CHARG.
      perform bdc_field       using 'MSEG-INSMK(01)'
                                    'S'.
    ENDFORM.                    " 335_POST_GR_ITEMS
    *&      Form  399_RETRIEVE_DOCUMENTS
    &----

    that is a warning message only ... But if you want to fix it then replace all 000 with 001 in your write statement. The position instead of 000 you have to give 001
    write : /000(10)....instead of this
    write : /1(10) or write : /(10) or write : /001(10) any thing you can use.
    regards
    shiba dutta

  • For all Jedi Masters: How can I update images in ScrollingImagePanels ?????

    I have posted an old topic but now i understand my error.
    Please people!!!! I think it is very simple, but i am not getting results at updating images in ScrollingImagePanels.
    My ScrollingImagePanel in a JInternalFrame, and the JInternalFrame is in a JDesktopPane.
    In my code i try to remove the actual ScrollingImagePanel and create a new other. But the are no references to the ScrollingImagePanel in the else block. The code doesn't compile. Please, see the code below for a good compreension:
    public void atualiza(){
    if (ziboro == false){ //no images displayed yet
         ziboro = true;     
         JInternalFrame teste = new JInternalFrame("teste",true,true,true,true);
    teste.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    teste.addInternalFrameListener(this);
    teste.setLocation(10,10);
    teste.setSize(new Dimension(200,200));
    ScrollingImagePanel FlipVPanel = new ScrollingImagePanel(imagemBufa, 800, 800);
    teste.getContentPane().add(FlipVPanel);
    displayPanel.add(teste);
    teste.setVisible(true);
    teste.moveToFront(); return;
    else{
    System.out.println("Jedi!");
    teste.getContentPane().remove(FlipVPanel);//This part is my problem
    ScrollingImagePanel FlipVPanel = new ScrollingImagePanel(imagemBufa, 800, 800);
    teste.getContentPane().add(FlipVPanel);
    teste.setVisible(true);
    teste.moveToFront();
    return;
    Thank you for your atention!
    Poxa se vc entende portugu�s e quiser e souber me ajudar eu ia ficar agradecido pra caramba!

    Ah! I'm sorry. Probably I couldn't explain you my problem. So let me give you some background.
    We used to generate the preview of all the pages in an InDesign document using the export functionality. But we found that, it's a slow process especially when the document uses images that are huge in size (can even be 2 or more GB). So we decided that since InDesign already has the preview (we can see this even the image link is broken), why shouldn't we use this?
    But while doing this, I realized that I can't get the preview of other pages except the first page.
    So, can we say the script can't generate preview images of all the pages (I'm not talking about the individual images placed in a page), or the script is OK but it can do that only for CS5?
    Best Regards,
    -Arafat

  • Create PO, MIGO,MIRO..Delete all Process.Very urgent..

    HI guru's
    Can anybody help me.. i have created PO, I have done MIGO,MIRO over. Some mistake i have done ,so i want delete all the things and I want to create new PO , MIGO & MIRO.
    Please help me step by step , how to delete all and creation of new..
    Thanks in advance
    sap-mm

    Hi
    If payment to vendor is not done u can reverse all posted document as follows
    Miro - MR8M
    MIGO - MBST
    Once these documents are cancelled change tax code in PO and again Post all documents as regular
    Note : If excise invoice is posted reverse the same also
    Vishal...

  • Hi all..very urgent

    Hi Gurus,
    Could you plz help me to collect the tables, structures,views, search helps and programs which uses PRODH3 and PRODH4 data elements...
    plz guys very urgent..
    marks wud definetly be given.
    Regards
    Sahil

    A900         
    ZPRODH4      
    A914         
    ZPRODH4      
    A915         
    A916         
    A918         
    A923         
    A924         
    A925         
    A926         
    A900         
    A914         
    A915         
    A916         
    A918         
    A923         
    A924         
    A925         
    A926         
    A928      
    A931      
    A937      
    A955      
    A966      
    S800      
    S800E     
    S801      
    S801E     
    S802             
    S802E            
    S803             
    S803E            
    S804             
    S804E            
    S805             
    S805E            
    S806             
    S806E          
    S821           
    S821E          
    S911           
    S911E          
    S912           
    S912E          
    S950           
    S950E          
    S951  
    S951E
    for prodh3
    A144           
    A148           
    A921           
    PRODH3         
    S020           
    S020E          
    S075           
    S075E          
    S800           
    S800E          
    S801              
    S801E             
    S802              
    S802E             
    S803              
    S803E             
    S804              
    S804E             
    S805              
    S805E                                                                               
    S806                                                                               
    S806E                                                                               
    S821                                                                               
    S821E                                                                               
    S911                                                                               
    S911E                                                                               
    S912                                                                               
    S912E                 
    S950  
    S950E 
    Message was edited by:
            Amit Singla
    Message was edited by:
            Amit Singla

  • Nokia 6303i message mark all option . Urgent

    I bought a new 6303i yesterday and the software is good, except that in messaging I can't find the option to mark all msgs or group msgs into folders etc. please suggest me how to do it.

    Hi!
    the only option at the moment is described in the following thread:
    /t5/Messaging-Email-and-Browsing/6303i-classic-mark-and-markall-option/m-p/670545/highlight/true#M24...
    Does this help you?
    Cheers

  • Calling all regex masters

    All,
    I am trying to meet a requirement where the user can use regular expression like entries to filter data. For instance if the input was "1-4,6" then the user would get records containing 1,2,3,4,6. I tried wrapping the input in brackets and sending it through regexp_instr, however it does not work with multiple digits.
    with test_data as(
      SELECT level data
        FROM DUAL
    CONNECT BY LEVEL <= 10
    SELECT data
      FROM test_data
    WHERE regexp_instr(data, '[1-4,6]',1,1,0,'i') > 0
    -- returns 1,2,3,4,6,10
    -- the 10 should not be thereI changed the code by adding the start of string and end of string modifier but its still not quite right.
    with test_data as(
      SELECT level data
        FROM DUAL
    CONNECT BY LEVEL <= 10
    SELECT data
      FROM test_data
    WHERE regexp_instr(data, '^[1-4,6,10]$',1,1,0,'i') > 0
    -- returns 0,1,2,3,4,6but now if i want to find a 10 it will only look for 1 or 0 not "10".
    Any suggestions on how to accomplish this with regular expressions or any other method of reaching the same functionality?
    Cheers,
    Tyson Jouglet

    All,
    After realizing that regular expressions get exponentially complicated as you add more digits i decided to ditch that effort and dynamically built the where clause. In short I replaced the "1-4" with a between statement and added all none range inputs into an IN statement
    here is the first go around of the code:
    create or replace
    function createWhereClause(p_string varchar2
                              ,p_column varchar2
                              ,p_delim varchar2 default ',')
    return varchar2
    deterministic
    is
      l_or        varchar2(4)      := ' OR ';
      l_crlf      varchar2(2)      := chr(13)||chr(10);
      l_output    varchar2(32000);
      l_index     pls_integer;
      l_bet_index pls_integer      := 0;
      l_ins_index pls_integer      := 0;
      l_tokens    wwv_flow_global.vc_arr2;
      l_betweens  wwv_flow_global.vc_arr2;
      l_ins       wwv_flow_global.vc_arr2;
    begin
      l_tokens := htmldb_util.string_to_table(p_string,p_delim);
      l_index := l_tokens.first;
      while l_index is not null loop
        if instr(l_tokens(l_index),'-') > 0 then
          l_bet_index := l_bet_index + 1;
          l_betweens(l_bet_index) := p_column || ' BETWEEN ' ||replace(l_tokens(l_index),'-',' AND ');
        elsif l_tokens(l_index) is not null then
          l_ins_index := l_ins_index + 1;
          l_ins(l_ins_index) := l_tokens(l_index);
        end if;
         l_index := l_tokens.next(l_index);
      end loop;
      l_index := l_betweens.first;
      while l_index is not null loop
        l_output := l_output || l_betweens(l_index) || l_or || l_crlf;
        l_index  := l_betweens.next(l_index);
      end loop;
      l_index := l_ins.first;
      if l_index is not null then
        l_output := l_output || p_column || ' IN (';
        while l_index is not null loop
          l_output := l_output || l_ins(l_index) || ',';
          l_index  := l_ins.next(l_index);
        end loop;
        l_output := rtrim(l_output,',') || ')';
      end if;
      return rtrim(l_output,l_or);
    end;Cheers,
    Tyson Jouglet

  • Hi all, i need urgently your help please. My touch screen on muy Iphone 5  is not working, i dont understand as it has not been damaged at all, i dont know what happened and need urgently somebody helps me please

    Please anyone there can help me what I can do??!! touch screen of my Iphone 5 is not working at all and dont understand as it has not been damage and it is only 2 months and half!! it is not an old iphone and it has not been damaged, has happened right now and cannot turn off the mobile at all. Tried to take out the nano sim as i though it will be turned off but it has not been! i dont know what i can do and i am desesperate!!! thanks All for your help!!

    Removing the SIM has no affect on the power of the phone. It is just the part that facilitates connecting to your carrier. Try holding the sleep/wake and home buttons together until you see the Apple logo on the screen and then release the buttons. The phone should reboot. You may need to hold the buttons together for 15-30 seconds.

  • Calling all GUI Masters....

    I have searched and searched for this topic on the internet and I can't seem to find anything on it. I would like to have a column of JProgressBars in my JTable. I know that I need to create a cell renderer for this and I did. The progress bars show up in my table. However, I want to update the progress bars individually just one time (I don't need to use any new threads to update it constantly). What happens is that I'm trying to get a value, say 80 and based on that value, I set the progress bar color to a specific.color...say green...when I do this it sets ALL of the progress bars to that color when I only want one of the progress bars to turn green.
    Does anyone have a clue at all how I could do this? I know that the method getTableCellRenderComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) is used to change the color of the progress bar, but what does the parameter Object value refer to...I'm having trouble getting the value to compare from my other class and then comparing it and setting the proper row to the appropriate color. Anyone have any ideas? Essentially this is what I want to do in pseudocode form
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    if the value computed is >= 75, then I want to color that progress bar row with that value green
    if value >= 25 && <= 50 color that progress bar yellow
    if value <=25 color that progress bar red
    return this;
    I think you get the idea. Please help!

    ok...here's my code
    //table model
    import java.awt.Component;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;
    public class BordersTableModel extends DefaultTableModel
         public BordersTableModel()
              super();
         public BordersTableModel(Object[] columnNames, int rowCount)
              super(columnNames, rowCount);
         public boolean isCellEditable(int row, int column)
              return false;
    //ProgressBarRenderer
    public class ProgressBarRenderer extends JProgressBar implements TableCellRenderer
    protected TableCellRenderer delegate;
         JProgressBar bar;
         public ProgressBarCellRenderer(TableCellRenderer defaultRenderer)
              super(JProgressBar.HORIZONTAL);
              setBorderPainted(false);
              setBorder(null);
              this.delegate=defaultRenderer;
              UIManager.put("ProgressBar.selectionForeground", Color.BLACK);
              UIManager.put("ProgressBar.selectionBackground", Color.BLACK);
         bar=new JProgressBar();
         public void setValue(int aValue)
              bar.setValue(aValue);
         public Component getTableCellRendererComponent(JTable table, Object value,
                   boolean isSelected, boolean hasFocus, int row, int column)
              bar.setStringPainted(true);
              if(bar.getValue()>=75)
                   bar.setForeground(Color.GREEN);
              if( (bar.getValue()> 25) && (bar.getValue() <= 50) )
              bar.setForeground(Color.YELLOW);
              if(bar.getValue() <= 25)
                   bar.setForeground(Color.RED);
              if( (bar.getValue() > 50 ) && (bar.getValue() < 75))
                   bar.setForeground(Color.ORANGE);
              return bar;
    //CombinedInterface where all the listeners and GUI stuff is
    public class CombinedInterface
    ProgressBarRenderer progressRend=new ProgressBarRenderer();
    BordersTableModel model=new BordersTableModel(columnNamesStr, 0);     
    table=new JTable(model);
    table.setDefaultRenderer(JProgressBar.class, progressRend);
    TableColumn column=table.getColumnModel().getColumn(0);
    column.setCellRenderer(progressRend);
    searchJB.addActionListener(new ActionListener()
                   public void actionPerformed(ActionEvent e)
                   try
                             progressRend.setValue(65);     
                        catch(ArithmeticException math)
                             System.err.println("No results were found");
                             System.err.println();
    so If I understand you correctly, I need to add the following method to my table model
    public void setValueAt(Object aValue, int row, int column)
    super.setValueAt(aValue, row, column);
    so when I call getTableCellRendererComponent, it gets the args value, row, and column from my table model?
    Stephen

Maybe you are looking for