Formulare

SFP..SAPscript (Transaktion SE71)..Smartforms (TA Smartforms).. Interactive Forms..Transaktion EFRM)..SIFBA..IAF..AIF..SIFBA - SAP_Interactive_Forms_based_on_Adobe // LÖSUNGSANSÄTZE aber AUCH FÜR "NORMALE" PDFs VERWENDBAR ;-)
Antworten
paulpoly
Beiträge: 5
Registriert: 17.11.2011, 11:09

Formulare

Beitrag von paulpoly » 17.11.2011, 12:32

[fontsize=2][font=Arial]
Hallo Acronauten,

möchte folgende Struktur zur Ausfüllung zur Verfügung stellen.
Anbei mein bisheriger Versuch.
Layout und Schnittstelle(ABAP-Dict) des Formular mit Transaktion SFP erstellt.
PDF-Datei wird mittels ABAP-Programmierung(SAP) erstellt, dabei erfolgt bereits eine Vorbefüllung der Formularfelder.
Achtung PDF enthält erweiterte Verwendungsrechte zur Speicherung der betreffenden Datei.
Die Anwender werden die blauen Felder zur Bestellpos. und zu den Fertigungsplanpos. ausfüllen.
Die Anwender werden keine neuen Bestellpos. und Fertigungsplanpos. erstellen.

Jetzt zu meiner aktuellen Fragestellung:
1. ) Die PDF-Datei soll vom Layout wie die beigefügte Excelliste
(Mappe1.xls_12.41.16.pdf) aussehen.

2.) Wobei ich beim Entwurf nicht Tabellen(Kopf/Detail/Fußbereich) sondern Teilformulare verwenden möchte.
Hintergrund ist der Wunsch zu einer Bestellpos. die Positionen des betreffenden Fertigungsplans programmatisch im PDF durch die Anwender austauschen zu können (Instanzmanager), z.B über Dropdownliste (Fertigungspläne)auf Ebene der Bestellpos.

Gruß Rr
[/font][/fontsize]
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

paulpoly
Beiträge: 5
Registriert: 17.11.2011, 11:09

Formulare

Beitrag von paulpoly » 21.11.2011, 12:36

Hallo
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

paulpoly
Beiträge: 5
Registriert: 17.11.2011, 11:09

Formulare

Beitrag von paulpoly » 21.11.2011, 12:36

Hallo Acrounauten,

Bin schon etwas weiter in dem Thema.
Anbei die PDF-Datei.
Statt die Fertigungspläne über eine Dropdownliste auszutauschen, besteht die Möglichkeit eine neue Instanz des betreffenden TFs neu anzulegen bzw. zu löschen.

Zu meiner aktuellen Frage:

Routine: [fontsize=2][fontsize=2]data.SEITE1.TF_BPOSLISTE.TF_BPOS::initialize:
[/fontsize]
[/fontsize]
[fontsize=2][fontsize=2]Hier möchte ich auf das Feld EBELP zugreifen um abhängig vom seiem Wert das Teilformular "TF_FAPLISTE" auszublenden.

Als Einstieg wollte ich erstmal auf EBELP und [fontsize=2]TXZ01 zugreifen.
Klappt aber nicht so richtig,
[/fontsize][/fontsize]
[/fontsize]
[fontsize=2][fontsize=2][fontsize=2]wird immer EBELP -> 00001 und TXZ01 -> null angezeigt, bei allen acht Durchläufen.[/fontsize][/fontsize][/fontsize]

[fontsize=2][/fontsize] 

[fontsize=2][fontsize=2][fontsize=2] 

[/fontsize]
 
[/fontsize]
[/fontsize]

Gruß Rr


Hallo zusammen,

hat den keiner eine Meinung oder Idee dazu?

Gruß Rr
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

paulpoly
Beiträge: 5
Registriert: 17.11.2011, 11:09

Formulare

Beitrag von paulpoly » 21.03.2012, 16:38

Hallo Acrounauten

Bin jetzt wieder an diesem Thema dran.
Vielleicht weiss ja jemand Rat?

Bei Betätigung der "+"-Schaltfläche wird ein neues Teilformular erstellt,
klappt auch soweit, nur die Einfärbung des Feldes ZZQMFAZ9 klappt nicht.

data.SEITE1.TF_BPOSLISTE.TF_BPOS.TF_FAP_ALTERNATIVE.TFS_FAP_ALTERNATIVE.FALSE.BST_FAPPOS.DATA.TF_SCHALTFL.CMD_PLUS::click - (JavaScript, client)
var anInstanceManager = this.parent.parent.instanceManager;
var newInstance = anInstanceManager.addInstance(1);
var aToIndex = this.parent.parent.index + 1;
var aFromIndex = newInstance.index;
 anInstanceManager.moveInstance(aFromIndex, aToIndex);
// Das Feld zur Aufnahme des Textes für FAP-Pos beschreibbar machen 
newInstance.LTEXT.access       = "open";
newInstance.MANDT.rawValue     = this.parent.parent.MANDT.rawValue;
newInstance.EBELP.rawValue     = this.parent.parent.EBELP.rawValue;
newInstance.ETENR.rawValue     = this.parent.parent.ETENR.rawValue;
newInstance.ZZQMFAZ9.rawValue  = this.parent.parent.ZZQMFAZ9.rawValue;
newInstance.ZZQMFAZ9.fillColor.value = "192,192,192";

 data.SEITE1.TF_BPOSLISTE.TF_BPOS.TF_FAP_ALTERNATIVE.TFS_FAP_ALTERNATIVE.TRUE.BST_FAPPOS.DATA.TF_SCHALTFL.CMD_PLUS::click - (JavaScript, client)
var anInstanceManager = this.parent.parent.instanceManager;
var newInstance = anInstanceManager.addInstance(1);
var aToIndex = this.parent.parent.index + 1;
var aFromIndex = newInstance.index;
 anInstanceManager.moveInstance(aFromIndex, aToIndex);
// Das Feld zur Aufnahme des Textes für FAP-Pos beschreibbar machen 
newInstance.LTEXT.access       = "open";
newInstance.MANDT.rawValue     = this.parent.parent.MANDT.rawValue;
newInstance.EBELP.rawValue     = this.parent.parent.EBELP.rawValue;
newInstance.ETENR.rawValue     = this.parent.parent.ETENR.rawValue;
newInstance.ZZQMFAZ9.rawValue  = this.parent.parent.ZZQMFAZ9.rawValue;
newInstance.ZZQMFAZ9.fillColor = "192,192,192";

Gruß Rr
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

paulpoly
Beiträge: 5
Registriert: 17.11.2011, 11:09

Formulare

Beitrag von paulpoly » 22.03.2012, 09:17

Habe mir selbst im Wege gestanden,

Sorry.

Habe das falsche Feld angesprochen, sollte das Feld "LTEXT" und nicht "ZZQMFAZ9" sein.
ZZQMFAZ9 ist ja ein unsichtbares Feld.
Und so ist der Code, hier nur für eine der beiden Ereignissroutinen

[fontsize=2][fontsize=2]data.SEITE1.TF_BPOSLISTE.TF_BPOS.TF_FAP_ALTERNATIVE.TFS_FAP_ALTERNATIVE.FALSE.BST_FAPPOS.DATA.TF_SCHALTFL.CMD_PLUS::click: - (JavaScript, Client)

var anInstanceManager = this.parent.parent.instanceManager;
var newInstance = anInstanceManager.addInstance(1);
var aToIndex = this.parent.parent.index + 1;
var aFromIndex = newInstance.index;
 anInstanceManager.moveInstance(aFromIndex, aToIndex);
// Das Feld zur Aufnahme des Textes für FAP-Pos beschreibbar machen 
newInstance.LTEXT.access      = "open";
newInstance.MANDT.rawValue    = this.parent.parent.MANDT.rawValue;
newInstance.EBELP.rawValue    = this.parent.parent.EBELP.rawValue;
newInstance.ETENR.rawValue    = this.parent.parent.ETENR.rawValue;
newInstance.ZZQMFAZ9.rawValue = this.parent.parent.ZZQMFAZ9.rawValue;
newInstance.LTEXT.fillColor   = "192,192,192";[/fontsize]
[/fontsize]


[fontsize=2]
[/fontsize]
Gruß Rr

Antworten