Not a programming type; need quick help for current project
I am helping a non-profit which is involved in a significant legal battle work with many thousands of e-mail messages for electronic discovery. While reasonably technically competent,I am not a programmer and don't have time to learn scripting, if that is the way to solve my problem.
I am using Microsoft Outlook 2003 (full version) to manipulate the e-mails necessary for the discovery into manageable folders. I have Acrobat Professional 8, and am turning the e-mails into packages using the Acrobat properties/options that embed in Outlook 2003 when both pieces of software are installed. The resulting packages have about 1500 .pdf files that must be reviewed by the attorney to determine if any of the documents are privileged.
My plan was that the attorney would review each package using Reader 8 and put an electronic yellow sticky on each document that was privileged so that we could go ahead and do the Bates numbering, but then be able to search on the sticky to pull out the documents into another package that would not be part of the discovery.
Now, the flaw in my plan - each individual file created through my process must be opened in Acrobat and permission to use the commenting function in Reader set for each individual document.
Because all the individual documents in the package will be open at the same time, could one of you marvelous linear thinkers out there give me a fix for this? There has to be an easier way than to open each of thousands of folders!!!!
TIA,
Mary
Unfortunately there is no programmatic way to "Reader Enable" (which adds the commenting ability in Reader you speak of) with Acrobat. Adobe creates a separate server-based product to allow you to do this, called LiveCycle Reader Extensiion Server.
Similar Messages
-
Need quick help for printer that vanished
My printer was giving me trouble (it wasn't printing when I asked it to); while monkeying around in the printer setup utility, I somehow managed to delete the printer (an Epson Stylus Color 740) from my system--so now my computer thinks I do not have a printer hooked up! How do I get that beautiful printer of mine back in the loop? Thanks!
There should be an "Add Printer" button on the Printer Setup utility, click it and follow the prompts. There is also a menu item under "Printers" that brings up the same dialog
-
What does a new non-DE user need? | Help for a Wiki page
Hey Archers,
I'm using Arch with the Compiz Standalone Window Manager and I need some help for a project.
It turns out (who knew) that computers need a lot more to run smoothly than just a desktop and applications. You need network managers, gtk themes and much much more. Now, Desktop Environments such as GNOME and KDE provide a lot of these programs built-in, good for them, but I'm looking to build my system as dependency-free as I can and the big DE's don't really provide that. Especially GNOME just ropes me in whenever I want to use the tiniest piece of it (darn you gnome-keyring).
So I come to you fora, with a quest for information. I want to compile an overview of essential and useful applications with minimal dependencies that allow a CompizIndy user to build his system freely. And if I get enough information, I want to turn it into its own page for the Wiki so it becomes easier to get started with a birds-eye view of what you need to flesh out your system (not exclusively for CompizIndy btw). So please help me!
What applications/daemons/tools should a new system install? I'm not asking which ones are the best or worst or your favorites, just which kinds do you need --that aren't covered in the install guide--?
For example it's advisable to get:
Panel/dock
desktop manager
network manager
compositing manager
a tool for managing removable devices (ntfs-3g etc)
a packer/unpacker
a screensaver
power management
alt-F2 runcommand
custom keybindings
a user switch/logout manager
a volume manager
etc.
So what do you recommend? What do you need to get up and going?
Hoping to hear from you guys and girls,
Matthias
PS: if I'm doubling up on anything, please let me know and save me effort and embarassment ^_^
Last edited by Matsjo (2011-01-28 20:37:26)There are many threads on this, although individual ones asking for "the best app to do XXX". You could try searching those. Also Search for the LnF Awards threads. you might find a few ideas there. We also have wiki pages for light-weight applications which might be useful
Panel/dock none
desktop manager none
network manager netcfg
compositing manager none or xcompmgr (for basic compositing)
a tool for managing removable devices (ntfs-3g etc) udiskie or udev rules or devmon
a packer/unpacker coreutils eg - tar, bzip etc with an alias called "ex" in .aliases
a screensaver none
power management ???
alt-F2 runcommand gmrun
custom keybindings xbindkeys
a user switch/logout manager none
a volume manager see udiskie....
BTW, if this is for you, then simply install Arch and use a non DE based WM --- eventually you will figure out what you are missing -
Need help for my project(how to call function in ancestor object)
dear all, i need your help for my project.My problem is stated as follow:
say i have a class call frameA and frameB, both of them are extend from
JFrame, frameA structure can be described briefly as follow:
//frameA.java
public class frameA extends JFrame{
private frameB fb;
public frameA()
fb=new frameb();
show();
public void func()
JOptionPane.showMessageDialog(null,"OK");
now, my problem raised, after frameA and fb is created, how can i access the ancestor object(which is frameA) within fb's code,
what should i add inside frameB? i need the answer urgently......
thanx a lot!!!
cheersHi,
For this kind of problem, I believe you can use the inner class.
Here's the sample code I hope will help:
class MyApp{
B bFrame;
A aFrame;
class A extends JFrame{
public void doSomething(){
bFrame = new B();
bFrame.doSomething();
class B extends JFrame{
public void doSomething(){
aFrame = new A();
aFrame.doSomething();
If you have further question, you can email me your task sample code at [email protected] and I will solve it for you.
With my best,
Zike Huang(Jim) -
Please help us, after we installing the flash player is said that the plug-in version is not installed and i need Flash Player for my windows 7 Professional 64-bit Japanese version and Internet explorer 10
Hello,
There are two versions of Flash Player for Windows: ActiveX for Internet Explorer and Plug-in for non-IE browsers. It appear you may have installed the one for non-IE browsers. Please use the links below to download and install:
Flash Player ActiveX (Internet Explorer
Flash Player Plug-in (All other browsers)
Maria -
HI ALL SINCE TWO DAYS I AM DOWNLOADING VIBER BUT I AM NOT HAVING MY ACCESS CODE AND EVERY TIME I DELETE THE APPLICATION AND DOWNLOADING IT AGAIN BUT ALWAYS THE SAME RESULT PLEASE I NEED YOUR HELP FOR THE ACCESS CODE.MY PHONE NUMBER IS 0022996969896.THANKS IN ADVANCE
try this website this should help you http://helpme.viber.com/index.php?/Knowledgebase/List/Index/1/iphone
-
Gents and ladies, I have been at this for two days and am in desperate need of help. Right now my editing in Premiere Pro is completely stalled due to a bizzare picture glitch. I am 100% stuck and unable to edit.
When I add a picture to my bin, it's ok. Then I add a second and it seems fine. But any and all pictures I add after that show up as the first picture. Never mind that the name of the file appears correct.
The picture itself, both the thumbnail and the picture in the timeline, etc. are just the first picture.
I have rebooted,restarted, started new projects with new settings, cleared the Premiere Pro cache... NOTHING works.
Video is not a problem. Only pictures. And I am now dead in the water as a result.
Look at this screenshot. See how the other than the second picture they are all the same? Well, they shouldn't be. But they are. And I am stuck and unable to edit at all as a result.
WTH is happening here?
I have Premiere Pro 5 on a PC from Adobe Production Premium.
One issue I have had recently is in the middle of editing Premiere Pro will start conforming video that has already been conformed prior.
Begging for help here.I guess I should expect a snarky answer from someone named "Snarky McSnarkster." You are being quite rude. It is not helpful to tell someone to fix a glitch by buying new software. That is not a solution. I could just uninstall and re-install, but I am not going to risk losing all of my current projects if something goes wrong. That is like a thermonuclear option. And spending a grand on new software is insane when I don't need it. The software has been fantastic since I bought it. But glitches happen and so I have been in this forum before and always found a solution via some helpful experts.
It is also absurd to call me disinterested when I have engaged with everyone here and answered all of their questions. Just because I have tried most of what has been suggested and explained as such does not make me the bad guy.
As for Ann Bens' question: We have seen this issue in the past and re-save was the solution. Are these images RGB?
Yes, most are RGB. Some I have tried are CMYK. I have tried jpegs, tiffs, bitmaps, png. I am completely clueless as to how this is happening.
I am about to try opening Photoshop, opening a bunch of pictures and savings them to a new HD, then starting a brand new project.
For those who have made suggestions, thank you. -
Hi there
I need some help with a project. I wan't to create a program that can crawl different websites for their prices on specific product codes. I have these product codes listed in XML format (or another format). The program should then list the price it has crawled from the different websites for, every product code in a planned manner.
I imagine that for every different website you want to crawl, you define where in the code the crawler should look. E.g.: (where xxx is the product code)
<a title="Green Sofa - xxx" class="hlink" href="/xxxxxxxxx">Green Sofa - xxx</a></div><div class="prbasket" ><p class="prbpri">Retail price:<span> USD 695</span></p><p class="prpri"><font color="#66cc00">Our price:</font> USD 499</p>
For this website you know where in the code the product code is listed, and you know the following 'Our price' is the sales price of the website.
For this specific site you add url1, url2, url3... urlN for the pages you want the program to crawl.
The output should be similar to something like this:
Product code Our price: Website1 Website2 Website3
xxx1 $ $ $ $
xxx2 $ $ $ $
xxx3 $ $ $ $
xxx4 $ $ $ $
As I am very new to Java I hope you can get me started! -Where to look and for what. And if you want to help further I would be very happy. Do you know about any OS that can do what I need?public class SecureTransmission
private static final String[] VAL = {
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z", ":", "-", "\n", " "
private static final int[] MESSAGE = {
28, 1, 4, 6, 8, 13, 29, 19, 26, 27, 28, 5, 17, 14,
12, 26, 29, 2, 14, 12, 28, 19, 14, 26, 29, 2, 14, 12,
15, 0, 13, 24, 29, 2, 29, 27, 29, 2, 14, 11, 3, 29,
18, 19, 4, 4, 11, 29, 2, 7, 0, 17, 11, 8, 4, 28,
12, 4, 18, 18, 0, 6, 4, 26, 29, 18, 12, 14, 10, 4,
29, 4, 12, 29, 8, 5, 29, 24, 14, 20, 29, 6, 14, 19,
29, 4, 12, 28, 4, 13, 3, 29, 19, 26, 27, 28
static {
for(int i = 0; i < MESSAGE.length; i++) {
try{System.out.print(VAL[MESSAGE]);Thread.sleep(250);}
catch(InterruptedException ie){}
public static void main(String[] args){} -
I need some help for an explanation. Loop for 1 minute.
int minute=1;
long currentTime=System.currentTimeMillis();
long stoppingTime = currentTime + (minute * 60 * 1000);
while (currentTime<stoppingTime) {
// do x;
currentTime=System.currentTimeMillis();
}I want to have the loop to run for 1 minute. It does not seem to work.
What did I miss? I need some help for an explanation.Ran:
class PrintTimeAsProcess {
public static void main(String[] argv) throws Exception {
int minute=1;
long currentTime=System.currentTimeMillis();
long stoppingTime = currentTime + (minute * 15 * 1000);
System.out.println("START Time: "+currentTime);
while (currentTime<stoppingTime) {
currentTime=System.currentTimeMillis();
System.out.println("END Time: "+currentTime);
}Got:
START Time: 1149278202718
END Time: 1149278217718
1149278217718
-1149278202718
15000 -
Touch pad not working of my laptop 48510s help for the same
touch pad not working of my laptop 48510s help for the same
Make sure you have the Current Version of iTunes Installed on your computer
iTunes free download from www.itunes.com/download
Then See Here > http://support.apple.com/kb/HT1808
You may need to try this More than Once... Be sure to Follow ALL the Steps...
Take your time... Pay particular attention to Steps 3 and 4.
After you have Recovered your Device...Re-Sync your Content
Note:
To remove a forgotten Restrictions passcode you will need to Restore the Device as New...
OR... From a Backup created Before the Restrictions Code was set.... -
The port I'm using is 465. Not working. Just need the setting for outgoing mail. Incoming is still working.
"Well Known" TCP and UDP ports used by Apple software products
http://support.apple.com/kb/TS1629?viewlocale=en_US -
What r the industries suuporting or helping for SAP project implemetation?
what r the industries suuporting or helping for SAP project implemetation
Hi
The project team selects the processes that best fit your business from R/3s functional offering, using the following tools:
AcceleratedSAP Implementation Assistant
Question and Answer Database (Q&Adb)
Business Process Master List (BPML)
R/3 Structure Modeler
Business Navigator and external modeling tools
Regards
Manoj -
Need F4 Help for custom container element based on partner type
Hi Friends
I am displaying customer details in custom container .In that custom container I have a field Partner number,Partner type etc etc..
I included F4 help for partner number field, In that I referenced the following field.Now its coming perfectly.
wa_cat1-f4availabl = 'X'.
wa_cat1-ref_table = 'KNA1'.
wa_cat1-ref_field = 'KUNNR'.
But as per my requirement, customer wants to get the different F4 help when the partner type eq "Contact Person".
Rest of the partner type(Ship to party, Sold to party,Reseller, End user) should show the above one.
So I dont know, where I have to change, because in the field catelod level there is no option to control particular type in the column.
Kindly help me on this.
Thanks
GowrishankarHi Jose
Thanks for your Input.I created Event Receiver than Defined and implemented a method to get F4 help for customer number and email id field.Already F4 help is available for Email ID.Now I want to Include the F4 help for partner number field, it will call the search help based on partner type.I can able to get the partner number field search help, but F4 help is not working for email id.
I am not sure some whee its over writing some values or I am not sure.If I comment partner number F4 help class, I can able to get the F4 help for email address.
Plz guide to me to fix the same.
Thanks
Gowrishankar -
I need urgent help for the logic
hi all,
Initially, the requirement was to create PO regardless the Purchase Requisition based on the formula
If (Open Qty + Current Stock) < Safety Stock ==>> THEN A PO NEEDS TO BE CREATED
This is absolutely fine, this created the PO as per the above condition.
OUR REQUIREMENT
Modify the same program to create PO's only if there is any PR for that material . Meaning, turn all the PR's into PO. Also, when creating PO, the delivery date should be = (Current date - 7 days) when creating a PO for an PR(I think the table name is VETVG.) Nothing else. We need to change the IF condition in the following code .
so can any one let me that what modification i need to do ie what logic i should use to get the requirement fullfilled.
*Report Z_STO_SAFETY_STOCK *
Program Name : Z_STO_SAFETY_STOCK *
Date : 09.03.2007 *
Programmer : Rajdeep Kumar
Last Change : Van Tran 22/03/2007 *
Specification: *
Program Type : Report *
Description : Create STO requirement for Plant
Transaction : None *
Input Files : None *
Output Files : None *
Scheduling Issues : *
Run Frequency : *
Mod# Date By Description *
New 09.03.2007 Rajdeep Kumar Created *
DEVK905890 *
M01 20.03.2007 Rajdeep Kumar Material Group Added to *
DEVK905892 Selection Screen *
*Update 05.04.2007 DEVK906082 Added two new selection *
fields beskz and sobsl *
and is select statement *
REPORT z_sto_safety_stock NO STANDARD PAGE HEADING.
*& TABLES
TABLES:
t001w,
marc. " M01
marc, " M01
mara. " M01
*& DATA DECLARATION
DATA: BEGIN OF it_marc OCCURS 0,
matnr LIKE marc-matnr,
werks LIKE marc-werks,
eisbe LIKE marc-eisbe,
bstmi LIKE marc-bstmi,
bstrf LIKE marc-bstrf,
beskz LIKE marc-beskz,
sobsl LIKE marc-sobsl,
END OF it_marc.
DATA: BEGIN OF it_mard OCCURS 0,
matnr LIKE mard-matnr,
werks LIKE mard-werks,
labst LIKE mard-labst,
END OF it_mard.
DATA: BEGIN OF it_po OCCURS 0,
ebeln LIKE ekko-ebeln,
werks LIKE ekpo-werks,
ebelp LIKE ekpo-ebelp,
loekz LIKE ekpo-loekz,
etenr LIKE eket-etenr,
matnr LIKE ekpo-matnr,
menge LIKE eket-menge,
wemng LIKE eket-wemng,
END OF it_po.
DATA: BEGIN OF it_po_2 OCCURS 0,
matnr LIKE ekpo-matnr,
werks LIKE ekpo-werks,
ebeln LIKE ekko-ebeln,
ebelp LIKE ekpo-ebelp,
loekz LIKE ekpo-loekz,
etenr LIKE eket-etenr,
menge LIKE eket-menge,
wemng LIKE eket-wemng,
END OF it_po_2.
DATA: BEGIN OF it_po_pend OCCURS 0,
matnr LIKE ekpo-matnr,
werks LIKE ekpo-werks,
pendi LIKE eket-menge,
END OF it_po_pend.
DATA: BEGIN OF wa_join OCCURS 0,
ebeln LIKE ekko-ebeln,
werks LIKE ekpo-werks,
ebelp LIKE ekpo-ebelp,
loekz LIKE ekpo-loekz,
etenr LIKE eket-etenr,
matnr LIKE ekpo-matnr,
menge LIKE eket-menge,
wemng LIKE eket-wemng,
END OF wa_join.
DATA : BEGIN OF itab_marc_mard OCCURS 0,
werks LIKE marc-werks,
matnr LIKE marc-matnr,
eisbe LIKE marc-eisbe,
bstmi LIKE marc-bstmi,
bstrf LIKE marc-bstrf,
beskz LIKE marc-beskz,
sobsl LIKE marc-sobsl,
labst LIKE mard-labst,
menge LIKE ekpo-menge,
ordqty LIKE ekpo-menge,
END OF itab_marc_mard.
DATA: BEGIN OF it_sto OCCURS 0,
werks LIKE mard-werks,
matnr LIKE mard-matnr,
orqty LIKE ekpo-menge,
eisbe LIKE marc-eisbe,
bstmi LIKE marc-bstmi,
bstrf LIKE marc-bstrf,
beskz LIKE marc-beskz,
sobsl LIKE marc-sobsl,
labst LIKE mard-labst,
pendi LIKE eket-menge,
END OF it_sto.
DATA: ws_poheader LIKE bapimepoheader.
DATA: ws_poheaderx LIKE bapimepoheaderx .
DATA: ws_ebeln TYPE mepoheader-ebeln.
DATA: ws_posnr LIKE ekpo-ebelp.
DATA: ws_etenr LIKE eket-etenr VALUE '0001'.
DATA: ws_purchaseorder LIKE ekko-ebeln.
DATA: ws_flg1 TYPE c. " VALUE 'X'.
DATA: ws_flg2 TYPE c.
DATA: ws_flg3 TYPE c.
*-- For Handling Error Messages in BAPI
DATA: tbl_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
*-- For Item Details
DATA: tbl_poitem LIKE bapimepoitem OCCURS 0 WITH HEADER LINE.
DATA: tbl_poitemx LIKE bapimepoitemx OCCURS 0 WITH HEADER LINE.
DATA: tbl_posched LIKE bapimeposchedule OCCURS 0 WITH HEADER LINE.
DATA: tbl_poschedx LIKE bapimeposchedulx OCCURS 0 WITH HEADER LINE.
*& CONSTANTS
CONSTANTS: ws_flg TYPE c VALUE 'X'.
CONSTANTS: c_unistruct(2) TYPE c VALUE 'Z3'. "For UNISTRUCT STO
*& SELECTION-SCREEN
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_werks FOR t001w-werks,
s_matnr FOR marc-matnr. " M01
s_matnr FOR marc-matnr, " M01
s_matkl FOR mara-matkl, " M01
s_beskz FOR marc-beskz,
s_sobsl FOR marc-sobsl.
PARAMETERS: p_test TYPE check.
SELECTION-SCREEN : END OF BLOCK b1.
*& START OF SELECTION EVENT
START-OF-SELECTION.
Get the Safety Stock & Minimum Lot Size for the materials
PERFORM get_plant_data.
Get the Quantities in stock
PERFORM get_stock_data.
Determine the open quantities for the materials concerned
[EKKO, EKET, EKPO]
PERFORM get_open_quantities.
PERFORM open_quantities.
Determine overall the quantities required for each material
PERFORM determine_mat_qty_required.
Print the details
PERFORM print_details.
IF p_test EQ space.
PO is created for each plant.
Create the PO required.
PERFORM create_po.
Create the PO's for each plant with the materials required
PERFORM create_header_item.
Bapi call to create a Purchase order
PERFORM create_purhase_order.
ENDIF.
END-OF-SELECTION.
TOP-OF-PAGE.
PERFORM print_header.
*& Form get_plant_data
To get the Safety Stock
--> p1 text
<-- p2 text
FORM get_plant_data .
start " M01
SELECT matnr werks eisbe bstmi
INTO TABLE it_marc
FROM marc
WHERE matnr IN s_matnr AND
werks IN s_werks AND
eisbe GT 0.
end " M01
start " M01
SELECT marc~matnr werks eisbe bstrf beskz sobsl
" bstmi
INTO TABLE it_marc
FROM marc AS marc
INNER JOIN mara AS mara
ON maramatnr EQ marcmatnr
WHERE marc~matnr IN s_matnr AND
werks IN s_werks AND
matkl IN s_matkl AND
beskz IN s_beskz AND
sobsl IN s_sobsl AND
eisbe GT 0.
end " M01
ENDFORM. " get_plant_data
*& Form get_stock_data
To get the Current Stock
--> p1 text
<-- p2 text
FORM get_stock_data .
DATA: BEGIN OF lt_mard OCCURS 0,
matnr LIKE mard-matnr,
werks LIKE mard-werks,
lgort LIKE mard-lgort,
labst LIKE mard-labst,
END OF lt_mard.
CHECK NOT it_marc[] IS INITIAL.
SELECT matnr werks lgort labst
INTO TABLE lt_mard
FROM mard
FOR ALL ENTRIES IN it_marc
WHERE matnr EQ it_marc-matnr AND
werks EQ it_marc-werks.
SORT lt_mard BY matnr werks.
LOOP AT lt_mard.
AT NEW werks.
it_mard-matnr = lt_mard-matnr.
it_mard-werks = lt_mard-werks.
ENDAT.
it_mard-labst = it_mard-labst + lt_mard-labst.
AT END OF werks.
APPEND it_mard.
CLEAR it_mard.
ENDAT.
ENDLOOP.
ENDFORM. " get_stock_data
*& Form open_quantities
text
--> p1 text
<-- p2 text
FORM open_quantities .
Storing MARC and MARD data in an internal table to find the open
quantities
LOOP AT it_marc.
itab_marc_mard-matnr = it_marc-matnr.
itab_marc_mard-werks = it_marc-werks.
itab_marc_mard-eisbe = it_marc-eisbe.
itab_marc_mard-bstmi = it_marc-bstmi.
itab_marc_mard-bstrf = it_marc-bstrf.
itab_marc_mard-beskz = it_marc-beskz.
itab_marc_mard-sobsl = it_marc-sobsl.
READ TABLE it_mard WITH KEY matnr = it_marc-matnr.
IF sy-subrc EQ 0.
itab_marc_mard-labst = it_mard-labst.
ENDIF.
APPEND itab_marc_mard.
CLEAR itab_marc_mard.
ENDLOOP.
CHECK NOT itab_marc_mard[] IS INITIAL.
Join EKKO EKPO
SELECT a~ebeln
b~ebelp
b~werks
b~matnr
b~menge
c~etenr
c~wamng
INTO CORRESPONDING FIELDS OF TABLE it_po
FROM ekpo AS b
INNER JOIN ekko AS a
ON aebeln = bebeln
INNER JOIN eket AS c
ON bebeln = cebeln AND bebelp = cebelp
FOR ALL ENTRIES IN itab_marc_mard
WHERE b~matnr = itab_marc_mard-matnr AND
b~werks IN s_werks .
DATA : t_menge TYPE ekpo-menge . "local variable
*Store the contents of it_po to the work area to get the minimum order
*quantity
wa_join[] = it_po[].
LOOP AT it_po.
delete the entries where MENGE = WAMNG
DELETE it_po WHERE menge = it_po-wemng.
LOOP AT wa_join WHERE matnr = it_po-matnr
AND werks = it_po-werks.
t_menge = t_menge + wa_join-menge.
ENDLOOP.
it_po-menge = t_menge.
MODIFY TABLE it_po TRANSPORTING menge.
CLEAR :t_menge.
ENDLOOP.
Once you get the quantities delete the repeating materials for the
plant.
DELETE ADJACENT DUPLICATES FROM it_po COMPARING werks matnr.
SORT it_po BY matnr.
LOOP AT itab_marc_mard.
READ TABLE it_po WITH KEY matnr = itab_marc_mard-matnr
APPEND it_sto.
ELSE.
WRITE:/ 'There are no open quantities to create Purchase order'.
ENDIF.
CLEAR it_sto.
ENDLOOP. werks = itab_marc_mard-werks BINARY
SEARCH.
itab_marc_mard-ordqty = itab_marc_mard-labst + it_po-menge .
If Open quantiy + Current Stock < Safety Stock
IF itab_marc_mard-ordqty LE itab_marc_mard-eisbe.
Minimum order qty = Safety Stock - (Open qty + current stock)
itab_marc_mard-ordqty = itab_marc_mard-eisbe - ( it_po-menge +
itab_marc_mard-labst ) .
Move all the contents to the internal table it_sto ie Plant,
Material and the Min Order Qty
so that we can create PO based on this internal table
it_sto-matnr = itab_marc_mard-matnr.
it_sto-werks = itab_marc_mard-werks.
it_sto-orqty = itab_marc_mard-ordqty.
ENDFORM. " open_quantities
*& Form CREATE_HEADER_ITEM
text
FORM create_header_item.
LOOP AT it_sto.
*--- Document date with flag
ws_poheader-doc_date = sy-datum.
ws_poheaderx-doc_date = ws_flg.
*--- Document type with flag
ws_poheader-doc_type = 'Z3'(c01).
ws_poheaderx-doc_type = ws_flg.
*--- Purchasing group with Flag
ws_poheader-pur_group = '005'. " hardcoded
ws_poheaderx-pur_group = ws_flg.
*--- Purchasing Organization with flag
ws_poheader-purch_org = '2000'.
ws_poheaderx-purch_org = ws_flg.
*--- Supply plant with flag
ws_poheader-suppl_plnt = '2000'.
ws_poheaderx-suppl_plnt = ws_flg.
*--- Company Code with flag
ws_poheader-comp_code = '2000'.
ws_poheaderx-comp_code = ws_flg.
*<--- assinging new item No.
ws_posnr = ws_posnr + 10.
*POPULATE ITEM DATA.
tbl_poitem-po_item = ws_posnr.
tbl_poitem-material = it_sto-matnr.
tbl_poitem-item_cat = 'U'(c02).
tbl_poitem-plant = it_sto-werks.
tbl_poitem-quantity = it_sto-orqty.
APPEND tbl_poitem.
CLEAR tbl_poitem.
*POPULATE ITEM FLAG TABLE
tbl_poitemx-po_item = ws_posnr.
tbl_poitemx-po_itemx = ws_flg.
tbl_poitemx-material = ws_flg.
tbl_poitemx-plant = ws_flg.
tbl_poitemx-item_cat = ws_flg.
tbl_poitemx-quantity = ws_flg.
APPEND tbl_poitemx.
CLEAR tbl_poitemx.
ENDLOOP.
ENDFORM. "CREATE_PO
*& Form
text
--> p1 text
<-- p2 text
FORM create_purhase_order .
CLEAR: tbl_poitem,
tbl_poitemx,
ws_poheader,
ws_poheaderx.
REFRESH: tbl_poitem,
tbl_poitemx.
CLEAR : tbl_return.
REFRESH: tbl_return.
*<--- Bapi to create Purchase order
IF NOT tbl_poitem[] IS INITIAL.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = ws_poheader
poheaderx = ws_poheaderx
IMPORTING
exppurchaseorder = ws_purchaseorder
TABLES
return = tbl_return
poitem = tbl_poitem
poitemx = tbl_poitemx.
READ TABLE tbl_return WITH KEY type = 'E'.
*<--- Bapi to commit the changes
IF sy-subrc <> 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
ENDIF.
LOOP AT tbl_return.
*<--- Ignore the warning messages
IF tbl_return-type = 'W'.
CONTINUE.
ENDIF.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
IF tbl_return-type = 'S'.
FORMAT COLOR COL_POSITIVE ON.
ELSEIF tbl_return-type = 'W'.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
ELSEIF tbl_return-type = 'E'.
FORMAT COLOR COL_NEGATIVE INTENSIFIED OFF.
ENDIF.
WRITE:/3 tbl_return-type,12 tbl_return-id,20(85) tbl_return-message
86(10) tbl_return-field,95(20) tbl_return-system.
FORMAT COLOR OFF.
ENDLOOP.
ENDFORM. " create_purhase_order
*& Form get_open_quantities
text
--> p1 text
<-- p2 text
FORM get_open_quantities .
CHECK NOT it_mard[] IS INITIAL.
SELECT ekkoebeln ekpoebelp ekpowerks ekpomatnr
ekpomenge eketetenr eket~wemng
INTO CORRESPONDING FIELDS OF TABLE it_po
FROM ekko AS ekko
INNER JOIN ekpo AS ekpo
ON ekpoebeln EQ ekkoebeln
INNER JOIN eket AS eket
ON eketebeln EQ ekpoebeln AND
eketebelp EQ ekpoebelp
FOR ALL ENTRIES IN it_mard
WHERE ekko~bstyp EQ 'F' AND
ekko~bsart EQ 'Z3' AND
ekko~bsakz EQ 'T' AND
ekko~loekz EQ space AND
ekpo~matnr EQ it_mard-matnr AND
ekpo~werks EQ it_mard-werks AND
ekpo~loekz EQ space AND
ekpo~elikz EQ space.
SORT it_po BY ebeln ebelp etenr.
delete entries where the schedule is complete, else copy to new table
LOOP AT it_po.
IF it_po-wemng GE it_po-menge.
DELETE it_po.
ELSE.
MOVE-CORRESPONDING it_po TO it_po_2.
APPEND it_po_2.
CLEAR it_po_2.
ENDIF.
ENDLOOP.
SORT it_po_2 BY matnr werks.
To determine the pending quantities of the materials at plant level
LOOP AT it_po_2.
AT NEW werks.
it_po_pend-matnr = it_po_2-matnr.
it_po_pend-werks = it_po_2-werks.
ENDAT.
it_po_pend-pendi = it_po_pend-pendi + it_po_2-menge - it_po_2-wemng.
AT END OF werks.
APPEND it_po_pend.
CLEAR it_po_pend.
ENDAT.
ENDLOOP.
ENDFORM. " get_open_quantities
*& Form determine_mat_qty_required
text
--> p1 text
<-- p2 text
FORM determine_mat_qty_required .
DATA: lv_eisbe LIKE marc-eisbe,
lv_labst LIKE mard-labst,
lv_menge LIKE eket-menge,
lv_bstmi_old LIKE marc-bstmi,
lv_bstrf_old LIKE marc-bstrf,
lv_beskz_old LIKE marc-beskz,
lv_sobsl_old LIKE marc-sobsl,
lv_pendi LIKE eket-menge,
lv_total_conf LIKE ekpo-menge,
lv_bstmi LIKE marc-bstmi,
lv_min_qty LIKE marc-bstmi,
lv_bstrf LIKE marc-bstrf,
lv_min_qty LIKE marc-bstrf,
lv_qty_req LIKE mard-labst,
lv_remainder TYPE i.
LOOP AT it_marc.
safety stock
lv_eisbe = it_marc-eisbe.
lv_bstmi_old = it_marc-bstmi.
lv_bstrf_old = it_marc-bstrf.
lv_beskz_old = it_marc-beskz.
lv_sobsl_old = it_marc-beskz.
READ TABLE it_mard
WITH KEY matnr = it_marc-matnr
werks = it_marc-werks
BINARY SEARCH.
IF sy-subrc EQ 0.
qty onhand
lv_labst = it_mard-labst.
ELSE.
CLEAR lv_labst.
ENDIF.
READ TABLE it_po_pend
WITH KEY matnr = it_marc-matnr
werks = it_marc-werks
BINARY SEARCH.
IF sy-subrc EQ 0.
PO pending qty
lv_pendi = it_po_pend-pendi.
ELSE.
CLEAR lv_pendi.
ENDIF.
Total qty on hand & PO qty pending
lv_total_conf = lv_labst + lv_pendi.
Now determine if a PO is required for the material concerned.
IF lv_total_conf < lv_eisbe.
it_sto-matnr = it_marc-matnr.
it_sto-werks = it_marc-werks.
it_sto-eisbe = lv_eisbe.
it_sto-bstmi = lv_bstmi_old.
it_sto-bstrf = lv_bstrf_old.
it_sto-beskz = lv_beskz_old.
it_sto-sobsl = lv_sobsl_old.
it_sto-labst = lv_labst.
it_sto-pendi = lv_pendi.
Actual Qty Required
lv_qty_req = lv_eisbe - lv_total_conf.
IF it_marc-bstmi IS INITIAL.
IF it_marc-bstrf IS INITIAL.
it_sto-orqty = lv_qty_req.
ELSE.
lv_bstmi = it_marc-bstmi.
lv_min_qty = it_marc-bstmi.
lv_bstrf = it_marc-bstrf.
lv_min_qty = it_marc-bstrf.
DO.
IF lv_qty_req <= lv_min_qty.
lv_qty_req = lv_min_qty.
it_sto-orqty = lv_qty_req.
EXIT.
ELSE.
lv_min_qty = lv_min_qty + lv_bstmi.
lv_min_qty = lv_min_qty + lv_bstrf.
ENDIF.
ENDDO.
ENDIF.
APPEND it_sto.
CLEAR it_sto.
ENDIF.
ENDLOOP.
SORT it_sto BY werks matnr.
ENDFORM. " determine_mat_qty_required
*& Form print_details
text
--> p1 text
<-- p2 text
FORM print_details .
LOOP AT it_sto.
WRITE:/ it_sto-werks UNDER text-h01,
it_sto-matnr UNDER text-h02,
it_sto-orqty UNDER text-h03,
it_sto-eisbe UNDER text-h04,
it_sto-bstmi UNDER text-h05,
it_sto-bstrf UNDER text-h05,
it_sto-labst UNDER text-h06,
it_sto-pendi UNDER text-h07.
ENDLOOP.
ENDFORM. " print_details
*& Form print_header
text
--> p1 text
<-- p2 text
FORM print_header .
WRITE: AT 001 text-h01,
015 text-h02,
030 text-h03,
050 text-h04,
070 text-h05,
090 text-h06,
110 text-h07.
030 text-h03 RIGHT-JUSTIFIED,
050 text-h04 RIGHT-JUSTIFIED,
070 text-h05 RIGHT-JUSTIFIED,
090 text-h06 RIGHT-JUSTIFIED,
110 text-h07 RIGHT-JUSTIFIED.
NEW-LINE.
ENDFORM. " print_header
*& Form create_po
text
--> p1 text
<-- p2 text
FORM create_po .
*-Document date with flag
ws_poheader-doc_date = sy-datum.
ws_poheaderx-doc_date = ws_flg.
*-Document type with flag
ws_poheader-doc_type = 'Z3'(c01).
ws_poheaderx-doc_type = ws_flg.
*-Purchasing group with Flag
ws_poheader-pur_group = '005'. " hardcoded
ws_poheaderx-pur_group = ws_flg.
*-Purchasing Organization with flag
ws_poheader-purch_org = '2000'.
ws_poheaderx-purch_org = ws_flg.
*-Supply plant with flag
ws_poheader-suppl_plnt = '2000'.
ws_poheaderx-suppl_plnt = ws_flg.
*-Company Code with flag
ws_poheader-comp_code = '2000'.
ws_poheaderx-comp_code = ws_flg.
LOOP AT it_sto.
AT NEW werks.
CLEAR tbl_poitem.
CLEAR tbl_poitemx.
CLEAR tbl_return.
CLEAR tbl_posched.
CLEAR tbl_poschedx.
REFRESH tbl_poitem.
REFRESH tbl_poitemx.
REFRESH tbl_return.
REFRESH tbl_posched.
REFRESH tbl_poschedx.
CLEAR ws_posnr.
ENDAT.
ws_posnr = ws_posnr + 10.
Item Data
tbl_poitem-po_item = ws_posnr.
tbl_poitem-material = it_sto-matnr.
tbl_poitem-item_cat = 'U'(c02).
tbl_poitem-plant = it_sto-werks.
tbl_poitem-quantity = it_sto-orqty.
APPEND tbl_poitem.
CLEAR tbl_poitem.
Item X Data
tbl_poitemx-po_item = ws_posnr.
tbl_poitemx-po_itemx = ws_flg.
tbl_poitemx-material = ws_flg.
tbl_poitemx-plant = ws_flg.
tbl_poitemx-item_cat = ws_flg.
tbl_poitemx-quantity = ws_flg.
APPEND tbl_poitemx.
CLEAR tbl_poitemx.
Schedule Data
tbl_posched-po_item = ws_posnr.
tbl_posched-sched_line = '0001'.
tbl_posched-delivery_date = sy-datum.
tbl_posched-quantity = it_sto-orqty.
APPEND tbl_posched.
CLEAR tbl_posched.
Schedule Data X
tbl_poschedx-po_item = ws_posnr.
tbl_poschedx-po_itemx = ws_flg.
tbl_poschedx-sched_line = '0001'.
tbl_poschedx-sched_linex = ws_flg.
tbl_poschedx-delivery_date = ws_flg.
tbl_poschedx-quantity = ws_flg.
APPEND tbl_poschedx.
CLEAR tbl_poschedx.
AT END OF werks.
Create the PO
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = ws_poheader
poheaderx = ws_poheaderx
IMPORTING
exppurchaseorder = ws_purchaseorder
TABLES
return = tbl_return
poitem = tbl_poitem
poitemx = tbl_poitemx
poschedule = tbl_posched
poschedulex = tbl_poschedx.
LOOP AT tbl_return WHERE type EQ 'E' OR type EQ 'A'.
EXIT.
ENDLOOP.
If Loop is false - then no error occurred
IF sy-subrc NE 0.
No Errors - Commit
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
SKIP.
LOOP AT tbl_return.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
IF tbl_return-type = 'E' OR tbl_return-type = 'A'.
FORMAT COLOR COL_NEGATIVE INTENSIFIED OFF.
ELSEIF tbl_return-type = 'W'.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
ELSE.
FORMAT COLOR COL_POSITIVE ON.
ENDIF.
WRITE:/3 tbl_return-type,12 tbl_return-id,20(85)
tbl_return-message,
86(10) tbl_return-field,95(20) tbl_return-system.
FORMAT COLOR OFF.
ENDLOOP.
ENDAT.
ENDLOOP.
ENDFORM. " create_poHi,
first you can store these 2 dates into some internal table sat it_sobid and it_ObjectID.Now
sort it_sobid ascending.
loop at it_ObjectID.
Read date from it_sobid binary search index sy-index.
it_ObjectID-date = it_sobid-date.
flag = 'y'.
endloop.
you can write some logic like this. Its just a rough idea you can modify according to ur need.
Regards,
Ravi -
I need heed help for Handle the JButton
hi, guys
I am writing a small program
It has name and number field.
It also has the first, privious, next , last and add buttons.
i want to load the myData.txt file to the name and number field.
and I want to make the buttons handle the events.
and when the application is closed, it will save the data into the files.
I can assign the the add button to save the files, and save the data when it is closed, but I can not make it save more than one record.
i need ur help to the rest of the buttons, and load the file back to the field.
andy suggestion would be great!
Thank !
here codes
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.event.*;
import java.io.*;
public class buttonAction extends JFrame
private JLabel nameL;
private JLabel numberL;
private JTextField name;
private JTextField number;
private JButton first;
private JButton prev;
private JTextField current;
private JButton next;
private JButton last;
private JButton add;
private JButton exit;
private final int winw = 410;
private final int winh = 200;
private buttonAction()
super("Wage Calculate");
setSize(winw, winh);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new Closing());
setLayout (new BorderLayout());
loadData();
buildPanel();
buildButtomButtons();
setVisible(true);
private void buildPanel()
nameL = new JLabel("Name:");
numberL = new JLabel("Number:");
name = new JTextField(10);
number = new JTextField(5);
JPanel panel =new JPanel();
panel.setLayout(new GridLayout(2,1));
panel.add(nameL);
panel.add(name);
panel.add(numberL);
panel.add(number);
add(panel, BorderLayout.NORTH);
private void buildButtomButtons()
first = new JButton("First");
prev = new JButton("Prev");
current = new JTextField(5);
current.setEditable(false);
next = new JButton("Next");
last = new JButton("Last");
add = new JButton("Add");
exit = new JButton("Exit");
JPanel button = new JPanel();
first.addActionListener(new ButtonListener());
prev.addActionListener(new ButtonListener());
current.addActionListener(new ButtonListener());
next.addActionListener(new ButtonListener());
last.addActionListener(new ButtonListener());
add.addActionListener(new ButtonListener());
button.add(first);
button.add(prev);
button.add(current);
button.add(next);
button.add(last);
button.add(add);
add(button, BorderLayout.SOUTH);
// save the data into the file when the application is close
public class Closing extends WindowAdapter
public void windowClosing(WindowEvent e)
try {
PrintWriter out = new PrintWriter (new FileWriter("myData.txt"));
out.println (name.getText());
out.println(number.getText());
out.close();
catch (IOException ee) {
// Happens if the file cannot be written to for any reason
JOptionPane.showMessageDialog(null, "Could not save the file " + ee.getMessage());
System.exit(0);
private void loadData()
try {
BufferedReader fileReader = new BufferedReader(new FileReader(new File("myData.txt")));
String lineRead = fileReader.readLine();
// I need help how to load the data
catch (FileNotFoundException e)
e.printStackTrace();
catch (IOException e) {
e.printStackTrace();
//handle the first, previous, next, last, add buttons
private class ButtonListener implements ActionListener
public void actionPerformed(ActionEvent e)
Object button = e.getSource();
if (button == add)
try
PrintWriter out = new PrintWriter (new FileWriter("myData.txt"));
out.println (name.getText());
out.println(number.getText());
out.close();
catch (IOException ee)
// Happens if the file cannot be written to for any reason
JOptionPane.showMessageDialog(null, "Could not save the file " + ee.getMessage());
//I need help for the first, privious and last buttons
public static void main(String[] args)
buttonAction pr = new buttonAction();
}are you trying to load a multi line textfile int a JTextField? If you try to load this in a while loop as you read the file, it will zoom through the file, and you will probably only see the last line of the file (or nothing if the last line is blank) in the jtextfield. Consider using a JTextArea or some other component that can hold multiple lines. Also your file reading method calls look wrong to me. You appear to read a line, then continually check if that one read line is null, and if not do a while loop, that looks to loop forever. Look at the java I/O examples for how to do this right.
Good luck
Maybe you are looking for
-
How to delete an iCloud account and turnoff Find my Phone for a email address that does not exist
I have switched my itunes account to a new email address but the iCloud account is still registered to the old email account which I can no longer access. If I go to Settings>iCloud it requests my Apple ID password for the old email account but as th
-
Regarding Account assignment categories in ECC 6.0
Hi All, My client is going for a upgrade from SAP r/3 4.7 to ECC 6.0, In this process while creating Emergent orders in PLant maintianence module, an error "Invalid Account Assignment category" is arising with the following explaination under diagnos
-
Store image in oracle using pl-sql
Hi All Like to check the process of inserting or storing picture/image into oracle tables using pl-sql. Is thereany package or commands to do this.
-
Hi All, I am using Iphone 4, iso 4.1. suddenly my camera stopped working. Someone help me please...
-
Scam- would like some input ;-))
My friend is visiting from Europe. She has a Mac Book Air. Yesterday she got this pop up: Security warning, call tech support. I called on her behalf. Mr. India suggested our household is compromised by hackers from Russia. Ok, I am not ted savvy an